Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RFpro.ru: Программирование на Delphi


Хостинг портала RFpro.ru:
Московский хостер
Профессиональный платный хостинг на базе Windows 2008

РАССЫЛКИ ПОРТАЛА RFPRO.RU

Чемпионы рейтинга экспертов в этой рассылке

Boriss
Статус: Академик
Рейтинг: 1127
∙ повысить рейтинг »
Jimhucksly
Статус: 5-й класс
Рейтинг: 792
∙ повысить рейтинг »
Тимошенко Дмитрий
Статус: Студент
Рейтинг: 490
∙ повысить рейтинг »

/ КОМПЬЮТЕРЫ И ПО / Программирование / Delphi

Номер выпуска:1452
Дата выхода:27.10.2009, 11:30
Администратор рассылки:Калашников О.А., Руководитель
Подписчиков / экспертов:576 / 209
Вопросов / ответов:1 / 1

Вопрос № 173544: Здравствуйте эксперты. Не могли бы вы мне помочь с кодом программы? Код не мой и написан, примерно, в 2008 и не полностью (не было указано var). С автором связаться не удалось. var написал с нуля, но в нем остались кое-каким ошибки: [Error] Uni...



Вопрос № 173544:

Здравствуйте эксперты. Не могли бы вы мне помочь с кодом программы?
Код не мой и написан, примерно, в 2008 и не полностью (не было указано var). С автором связаться не удалось. var написал с нуля, но в нем остались кое-каким ошибки:
[Error] Unit1.pas(144): Type of expression must be BOOLEAN
в строке
if finded then
Как это исправить?
И второй вопрос:
Необходимо убрать все лишнее, кроме просто поиска в строке слова 'ISO', т.е. убрать отрезание до слова, после (см. комментарии в коде).
И еще в комментариях указано - // Ищет по 1 или нескольким критериям с разделением "//"
а где это указывается? Где можно указать несколько критериев?
Заранее спасибо.

Отправлен: 22.10.2009, 12:15
Вопрос задал: marader2002, Посетитель
Всего ответов: 1
Страница вопроса »


Отвечает Евгений/Genia007/, Практикант :
Здравствуйте, marader2002.
Вот сделал ка Вы хотели просто поиск слова в строке. Сделал два вида поиска: ищет просто наличие любого из двух слов в строке и ищет наличие двух слов в стоке. Слова вводятся в Memo, каждое слово с новой строки. Вывод результата тоже в Memo.
Код:
// Ищет слова
из мемо, каждое слово в новой строке
procedure TForm1.Button1Click(Sender: TObject);
var
F: TextFile;
l, n: integer;
t: string;
begin
t:= '';
l:= 0; //сбрасываем счетчики
if not OpenDialog1.Execute then Exit; // Если файл не выбран, то выходим
// Иначе, пытаемся открыть файл:
AssignFile(F,Form1.OpenDialog1.FileName); // Связываем файл с переменной F
Reset(F); //открываем файл
while not eof(F) do //читаем построчно из файла, пока не дойдем до конца
begin //это и есть обработка файла
readln(F, t); //если строковая переменная пустая, прочитали строку в строковую переменную
inc(l); //увеличили счетчик прочитанных строк
n:= pos(Memo1.Lines.Strings[0], t);
if (n <> 0) then
begin
Memo1.Lines.Add('Слово ' + Memo1.Lines.Strings[0] + ' найдено в строке ' + inttostr(l));
end;
n:= pos(Memo1.Lines.Strings[1], t);
if (n <> 0) then
begin
Memo1.Lines.Add('Слово ' + Memo1.Lines.Strings[1] + ' найдено в строке ' + inttostr(l));
end;
end;
CloseFile(F); //закрываем файловую переменную
end;

// Ищет оба слова из мемо, каждое слово в новой строке
procedure TForm1.Button2Click(Sender: TObject);
var
F: TextFile;
l, n, k: integer;
t: string;
begin
t:= '';
n:= 0;
k:= 0;
l:= 0; //сбрасываем счетчики
if not OpenDialog1.Execute then Exit; // Если файл не выбран, то выходим
// Иначе, пытаемся открыть файл:
AssignFile(F,Form1.OpenDialog1.FileName); // Связываем файл с переменной F
Reset(F); //открываем файл
while not eof(F) do //читаем построчно из файла, пока не дойдем до конца
begin //это и есть обработка файла
readln(F, t); //если строковая переменная пустая, прочитали строку в строковую переменную
inc(l); //увеличили счетчик прочитанных строк
n:= pos(Memo1.Lines.Strings[0], t);
k:= pos(Memo1.Lines.Strings[1], t);
if (n <> 0) AND (k <> 0) then
Memo1.Lines.Add('Слово ' + Memo1.Lines.Strings[0] + ' и слово ' + Memo1.Lines.Strings[1]
+ ' найдены в строке ' + inttostr(l));
end;
CloseFile(F); //закрываем файловую переменную
end;

procedure TForm1.Button 3Click(Sender: TObject);
begin
Memo1.Clear; // Отчистить мемо
end;
Прикрепленный файл: загрузить »

-----
Помогли тебе, помоги и ты.

Ответ отправил: Евгений/Genia007/, Практикант
Ответ отправлен: 22.10.2009, 19:10

Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 255718 на номер 1151 (Россия) | Еще номера »
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!


    Оценить выпуск »
    Нам очень важно Ваше мнение об этом выпуске рассылки!

    Задать вопрос экспертам этой рассылки »

    Скажите "спасибо" эксперту, который помог Вам!

    Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
    на короткий номер 1151 (Россия)

    Номер ответа и конкретный текст СМС указан внизу каждого ответа.

    Полный список номеров »

    * Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи. (полный список тарифов)
    ** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
    *** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.


    © 2001-2009, Портал RFpro.ru, Россия
    Авторское право: ООО "Мастер-Эксперт Про"
    Автор: Калашников О.А. | Программирование: Гладенюк А.Г.
    Хостинг: Компания "Московский хостер"
    Версия системы: 2009.6.10 от 26.10.2009

    В избранное