Скажите, как из StringGrid вывести в Label все Cells по порядку и с промежутком времени? к примеру: сперва Cells[2,1] показали в Label, прошло 5 секунд, потом Cells[2,2] и т.д...
SkyLine32 Используй компонент таймер, событие OnTimer(свойство интервал = 5000): Code: procedure TForm1.Timer1Timer(Sender: TObject); begin j:=j+1; if j = n then begin i := i+1; j:=1; end; Label1.caption:=StringGrid[i,j]; end; Или можно еще через Sleep(time); но программа будет "подвисать"
изват конечно, но видимость работы формы сохраняется.. Code: for i:=0 to 100 do begin Application.ProcessMessages; sleep(100); end;
я правильно понял? PHP: procedure TForm1.Timer1Timer(Sender: TObject); var j, n, k: integer; begin j:=j+1; if j = n then begin k := k+1; j:=1; end; Label1.caption := StringGrid1.Cells[k,j]; end; если да, то это не работает.
ещебы это работало j:=j+1; if j = n then и j, и n, и k локальные нигде не определенные переменные, и может я и туплю но смысл кода невкурил ((
пример решён, спасибо RumShun PHP: procedure TForm1.Timer1Timer(Sender: TObject); begin label1.Caption:=UrlLIst.Cells[2,j]; inc(j); application.ProcessMessages; end;
Люди добрые! Помогайте плиз) А то я скоро на отличненько... Задача такая нужно написать Клиент\Сервер на Winsock! Функционал придельно прост! Клиент отправляет текст, сервер отображает его в Мемо... Вот я тут навая немного. Но ничё не выходит... Code: WSAStartup(MakeWord(2,2),WSA); hSocket:=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP); hAddr.sin_family:=AF_INET; hAddr.sin_port:=htons(wPort); hAddr.sin_addr.S_addr:=inet_addr(Pchar(ipEdit.Text)); bind(hSocket,hAddr,Len); listen(hSocket,len); while buffer = '' do // Вот тут всё виснет... recv(hSocket,buffer,1024,0); Application.ProcessMessages; DisplayLog.Lines.Add('----------------'); DisplayLog.Lines.Add(buffer); DisplayLog.Lines.Add('----------------'); Может я в клиете косячу? Отправляю буфер функцией Send. в msdn не отправлять.. уже был и не раз.. И как разобратся с циклом чтоб он не вешал программу? Заранее Охринительное спасибо!
В винсок не специалист, но тут понятно что buffer = '' и прога зацикливается. К тому же я всегда думал что buffer должен быть числовым, ошибаюсь?
While buffer='' do - Пока буффер пустой мы делаем.. Но как сделать чтоб она не зацикливалась? мб sleep() поможет?
http://pastebay.com/95742 пример сервера Там где комменты можешь перекодировать обратно на русский тут: http://www.artlebedev.ru/tools/decoder/ Если только в отдельном потоке, ил ив консольном приложении, в противном случае будет виснуть интефейс
А как в потоке замутить? Знаю что поток TThread. Создаю его c CreateSuspend:=True; Но как поместить в него цикл? мб вот так? Thread.Resume; while buffer='' do recv() Thread.Terminate; ???
Имхо тебе не стоит в данном случае заморачиваться пока с потоками, потому что проблема скорее всего в неправильной реализации работы клиента или сервера Вообще, когда создаешь Thread Object в дельфи то создается заготовка, код потока вставляешь в тело процедуры Execute. А использовать так: var thread : TmyThread; begin thread := TMyThread.Create(false); end;
Вот очень хорошая статья по потокам, сам с нее начинал: http://www.delphikingdom.com/asp/viewitem.asp?catalogid=1370
Подскажите)) Дельфи Есть ссылка http://login.vk.com/?act=login&email=мыло&pass=пасс&expire=&vk= как сделать что бы при нажатии на кнопку из memo бралась строчка ololo.mail.ruassword разделялась и подставлялась в ссылку. На местро мыло нужно что бы вставало ololo.mail.ru на место пасс password. Спасибо.
var log,pass: string; begin log:=copy(memo1.lines[0],1,pos(':',memo1.lines[0])-1); pass:=copy(memo1.lines[0],pos(':',memo1.lines[0])+1,20); http://login.vk.com/?act=login&email='+log+'&pass='+pass+'&expire=&vk=
Писал прям тут, но вроде должно работать... PHP: var s,pass,mail:string; i:integer; begin i:=pos(':',memo.lines[1]); mail:=copy(memo.lines[1],1,i-1); pass:=Copy(memo.Lines[1],i+1,length(memo.lines[1]); s:='http://login.vk.com/?act=login&email='+mail+'&pass='+pass+'&expire=&vk='; end;
Дельфи есть код Как сделать что бы после успешной авторизации, мыло:пасс выводилось в мемо2 а если авторизация не прошла выводилось в мемо3.
А что сложного то? Вместо ShowMessage делай что-то вроде этого: Code: memo1.lines.add(log + ';' + pass);