Вопрос № 102263: Здравствуйте, уважаемые эксперты!
Каким образом можно сделать так, чтобы процесс моего приложения невозможно было завершить (чтобы программа блокировала), как, например, в касперском....Вопрос № 102273: Сдравствуйте эксперты подскажите как в Delphi реализовать разбивку строки на слова, допустим в масив. Т.е. "Hello world" mas[1]=hello mas[2]=world...Вопрос № 102276: Здравствуйте, Уважаемые Эксперты! Вопрос на тему глобальных переменных. Ответьте,
пожалуйста, как будет более правильно, с точки зрения программиста, написать код - как в примере 1 или в примере 2? И объясните, пожалуйста, поподробнее для чего нужен ...Вопрос № 102290: Здравстуйте,
пришел я к Вам вот с такой проблемой,
написал патчик что бы открывал файл находил нужное значение, после заменял его и сохранял.
Все хорошо, но объём файлов тоесть их количество которое надо про патчить довольно велико, вот, ...
Вопрос № 102.263
Здравствуйте, уважаемые эксперты!
Каким образом можно сделать так, чтобы процесс моего приложения невозможно было завершить (чтобы программа блокировала), как, например, в касперском.
Отправлен: 16.09.2007, 22:12
Вопрос задал: Megalamer (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 4)
Отвечает: Narsereg
Здравствуйте, Megalamer!
Не уверен, но скорее всего потребуется 2 процесса, которые будут проверять работу друг друга. И в случае завершения запускать.
Ответ отправил: Narsereg (статус: 1-ый класс)
Ответ отправлен: 17.09.2007, 09:43 Оценка за ответ: 3 Комментарий оценки: Это и без того понятно. речь шла об одном процессе, который бы блокировал попытку завершения его работы.
Вопрос № 102.273
Сдравствуйте эксперты подскажите как в Delphi реализовать разбивку строки на слова, допустим в масив. Т.е. "Hello world" mas[1]=hello mas[2]=world
Отправлен: 17.09.2007, 00:42
Вопрос задал: Whitesnake (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Coupler
Здравствуйте, Whitesnake!
Такой впрос уже задавался (87601). Вот код для разбивки строки в массив:
procedure TForm1.Button1Click(Sender: TObject);
var
S: string;
A: array of string;
n, i: integer;
begin
s := 'hello world';
s := s + ' ';
n := 0;
repeat
setlength(A, n + 1); //устанавливаем длину массива
a[n] := Copy(s, 0, Pos(' ', s) - 1);
Delete(s, 1, Length(a[n] + ' '));
Inc(n);
until s = '';
dec(n);
for i := 0 to n do
showmessage(a[i]);
end;
Приложение:
Ответ отправил: Coupler (статус: Практикант)
Ответ отправлен: 17.09.2007, 05:15 Оценка за ответ: 5
Отвечает: Esi
Здравствуйте, Whitesnake!
Вот пример.
procedure Tfm(str:string);
var i: integer;
mas: array of string;
begin
Setlength(mas,0];
i:=1; //Хотя нумерация в массивах начинается с нуля.
while pos(' ',str)<>0 do begin
Setlength(mas,i];
mas[i]:=copy(str,1,pos(' ',str)-1);
str:=copy(str,pos(' ',str)+1,length(str));
inc(i);
end;
mas[i]:=str;
end;
Ответ отправил: Esi (статус: 2-ой класс)
Ответ отправлен: 17.09.2007, 07:27
Вопрос № 102.276
Здравствуйте, Уважаемые Эксперты! Вопрос на тему глобальных переменных. Ответьте, пожалуйста, как будет более правильно, с точки зрения программиста, написать код - как в примере 1 или в примере 2? И объясните, пожалуйста, поподробнее для чего нужен обработчик OnExit, и обязательно ли использовать обработчик OnExit, когда используешь глобальные переменные. Заранее всем спасибо!!!:-)
Приложение:
Отправлен: 17.09.2007, 01:46
Вопрос задала: Алена (статус: Посетитель)
Всего ответов: 3 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Алексей Акишин
Здравствуйте, Алена!
Как правило обработчик OnExit используется для проверки введенных данных либо других каких-то условий. С глобальными переменным он связи в приципе не имеет.
В приложении дан пример 1 с использованием OnExit, пример 2 без него.
Приложение:
--------- Что бы ни делать - лишь бы ничего не делать!
Ответ отправил: Алексей Акишин (статус: 3-ий класс)
Ответ отправлен: 17.09.2007, 04:04 Оценка за ответ: 4
Отвечает: sir henry
Здравствуйте, Алена!
Отвечу Вам с точки зрения теории.
Глобальные переменные нужны тогда, когда у Вас есть какие-то данные, которые Вы изменяете в процессе работы программы и эти данные используются в нескольких процедурах.
Вообще рекомендуется глобальными переменными не увлекаться. Например, если Вы используете иерахический вызов процедур, т.е. из одной процедуры вызывается другая, то данные во вторую процедуру передаются в качестве параметров.
Ответ отправил: sir henry (статус: Академик) Россия, Красноярск ---- Ответ отправлен: 17.09.2007, 05:48 Оценка за ответ: 4
Отвечает: Esi
Здравствуйте, Алена!
Обработчик OnExit используется тогда, когда осуществляется выход из компонента, то есть компонент теряет фокус. Если напишите программу в этот обработчик, то перед тем, как потерять фокус выполнится эта программа.
Что же касается примеров, то в первом примере (правильный) выводиться сумма в edit3.
Во втором (неправильный) - в процедуре TForm1.Edit1Exit значение a будет присвоено, тогда, когда введёте какое-то значение в edit1 и перейдете, например вводить edit2; В процедуре TForm1.Edit2Change переменной b будет присвоено каждый раз, когда вносите изменения в edit2.
Примечание. В обоих примерах можно обойтись без переменной с: Edit3.Text:=IntToStr(a+b);
Ответ отправил: Esi (статус: 2-ой класс)
Ответ отправлен: 17.09.2007, 07:56 Оценка за ответ: 5
Вопрос № 102.290
Здравстуйте,
пришел я к Вам вот с такой проблемой,
написал патчик что бы открывал файл находил нужное значение, после заменял его и сохранял.
Все хорошо, но объём файлов тоесть их количество которое надо про патчить довольно велико, вот, как бы и сам вопрос:
Как бы так изловчиться, что бы он патчил все файлы в указанной папке с определенным расширением?
Если можно привидите конкретный пример как это можно реализовать.
Отвечает: Narsereg
Здравствуйте, Ищенко Евгений Владимирович!
var
searchResult : TSearchRec;
begin
if FindFirst('*.log (или какое там расширение?)', faAnyFile, searchResult) = 0 then
begin
repeat
ShowMessage('Имя файла = '+searchResult.Name);
ShowMessage('Размер файла = '+IntToStr(searchResult.Size));
until FindNext(searchResult) <> 0;
FindClose(searchResult);
end;
end;
Ответ отправил: Narsereg (статус: 1-ый класс)
Ответ отправлен: 17.09.2007, 10:09 Оценка за ответ: 5