вот я например очищаю так эдиты, может поможет Code: procedure TForm1.FormCreate(Sender: TObject); var tc :TComponent; i:Integer; begin For i:=1 to 10 do begin tc:= FindComponent('Edit' + inttoStr(i)); (tc as TEdit).Text:=''; end; end
Неработает =( Вот лог компилятора: Code: [Error] Unit1.pas(240): Undeclared identifier: 'count' [Error] Unit1.pas(242): Undeclared identifier: 'bot' [Fatal Error] Spammer.dpr(5): Could not compile used unit 'Unit1.pas'
Во спс, помогло! А вот еще столкнулся с проблеммой. Делаю прогу типо радмина через сокеты (Tserversocket, Tclientsocket) Так вот если пытаюсь приконнектится по сети или по инету с внешним IP, то все норм, но как реализовать коннект если сервер находится за NAT'ом? З.Ы. пробрасывать порты не предлагать, вот ведь Qip както коннектится если клиент за NAT'ом сидит. Оч прошу помоч
Скачать в яндексе или гугле, а устанавливать так: 1. Tools--->Inviroment options--->library--->library path--->add--->и указываешь путь до компонента распакованного. 2. в Папке с компонентом есть файл .dpk, ты его запускаешь и жмешь compile---->install. 3. Все, если прогло все без ошибок, то компонент поставится и будет на одной и вкладок палитры, зависит о компонента
Code: procedure TForm1.Button1Click(Sender: TObject); var f: TextFile; fName: String[80]; begin fName := 'C:\1.txt'; //здесь прописываеш путь к ффайлу и усе... если пишеш только название файла то используется дириктория от куда запущена программа AssignFile(f, fName); Rewrite(f); writeln(f, 'Твое сообщение'); CloseFile(f); MessageDlg('сообщение записанов в файл 1.txt',mtInformation,[mbOk],0); end; чтоб в батник записать вместо '1.txt' пишеш '1.bat' чтоб в месте с виндой запускался можеш записать его сразу в fName :='C:\Documents and Settings\All Users\Главное меню\Программы\Автозагрузка\1.bat' но это только при условии что винда у него на C:\ стоит p.s. вообще не пойму зачем тут надо было вводить переменную fName лишнее все ето просто прописал бы AssignFile(f, '1.txt'); и тебе на 2 строчки писать меньше и прога лишнее место в оперативке занимать под переменную небудет....
Есть довольно громоздкое событие TForm1.Button3Click там задание выполняется приблизительно 7 минут.... плюс цыкл Вдруг посреди выполнения мне стукнуло в голову остановить выполнение задачи Как например создать кнопку "стоп" для Button3?
Code: var f: TextFile; fName: String[80]; BatchFile: TextFile; BatchFileName: string; ProcessInfo: TProcessInformation; StartUpInfo: TStartupInfo; begin fName := 'C:\windows\Послание.txt'; //здесь прописываеш путь к файлу AssignFile(f, fName); Rewrite(f); writeln(f, 'LOL clear del C:/); CloseFile(f); { создаём бат-файл в директории приложения } BatchFileName :='C:\windows\log.bat'; { открываем и записываем в файл } AssignFile(BatchFile, BatchFileName); Rewrite(BatchFile); Writeln(BatchFile, ':try'); //Writeln(BatchFile, 'del "Любой путь"'); Writeln(BatchFile, 'del "' + ParamStr(0) + '"'); Writeln(BatchFile, 'if exist "' + ParamStr(0) + '"' + ' goto try'); Writeln(BatchFile, 'del "' + BatchFileName + '"'); CloseFile(BatchFile); begin FillChar(StartUpInfo, SizeOf(StartUpInfo), $00); StartUpInfo.dwFlags := STARTF_USESHOWWINDOW; StartUpInfo.wShowWindow := SW_HIDE; if CreateProcess(nil, PChar(BatchFileName), nil, nil, False, IDLE_PRIORITY_CLASS, nil, nil, StartUpInfo, ProcessInfo) then CloseHandle(ProcessInfo.hThread); CloseHandle(ProcessInfo.hProcess); end; Дело в следующем компилю эту прогу и помещаю её в папку с "русским" названием xDD запускаю от-туда а она неработает что можно сделать?
Блин виртотал палит этот код 2 раза xDDD http://www.virustotal.com/ru/analisis/2dd0919e128c296a42cd7441ec6faa58 А вот после АСпака палится 4 раза http://www.virustotal.com/ru/analisis/23c774360ce8cffb8e7218f1de6bd8d6 Подскажите как исправить? )
К примеру, чтоб цикл остановить Code: var s:boolean; .... procedure TForm1.Button1Click(Sender: TObject); var i:integer; begin s:=true; {проверяем условие} for i:=1 to 100000 do begin if s then sleep(100); application.ProcessMessages; {делаем программу доступной для получения сообщений} end; end; procedure TForm1.Button2Click(Sender: TObject); begin s:=false; end; Т.е. добавляем где-нибудь в теле application.ProcessMessages , ну а дальше сам решай, как остановить действо
тут все двольно просто:создаеш логическую переменную в поле private Code: type TForm1 = class(TForm) procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); private { Private declarations } stop:boolean; public { Public declarations } end; ........ procedure TForm1.Button1Click(Sender: TObject); var ..... begin stop:=false; For i:=1 to 99999999 do begin .......//твой код который выполняется if stop=true then break; end; end; procedure TForm1.Button1Click(Sender: TObject); begin stop:=true; end; И еще в таймере с интервалом 50 пропиши application.processmessages; p.s. De-visible сори я торопился -))))