Форум: "Основная";
Текущий архив: 2003.03.20;
Скачать: [xml.tar.bz2];
ВнизПоиск в текстовом файле. Найти похожие ветки
← →
Vasechkin (2003-03-07 11:41) [0]Помогите мне плиз.
Есть текстовый файл. Мне надо подсчитать в нем кол-во слова BLOCKED,
т.е. сколько раз оно там употребляется.
Приведите код, как это сделать.
← →
gek (2003-03-07 12:05) [1]Спроси у Петрова о Readln
← →
vasechkin (2003-03-07 12:10) [2]я НЕ ЗНАЮ ТАКОГО
← →
gek (2003-03-07 13:29) [3]Напрасно,см свой ник >Vasechkin
ну а также
Readln,pos и все будет в порядке
← →
Anatoly Podgoretsky (2003-03-07 14:15) [4]Ник смени :-)
← →
Vasechkin (2003-03-07 17:02) [5]Ну помогите не могу разобраться
← →
Intell (2003-03-07 17:07) [6]Удалено модератором
Примечание: Личная переписка
← →
Vasechkin (2003-03-07 17:21) [7]Ну вам сложно что-ли. Для спецов это пять минут.
← →
Intell (2003-03-07 17:48) [8]<Intell> - Я не спец, но подсказать кое что по этой теме могу:
Создай на форме кнопку и FindDialog (он находится на вкладке Dialogs в палитре компонентов).
На кнопку присвой:
procedure TForm1.Button1Click(Sender: TObject);
begin
finddialog1.Execute; // Та самая строка, для вызова окна поиска
end;
А на свойство OnFind компонента FindDialog, присвой:
procedure TForm1.FindDialog1Find(Sender: TObject);
begin
if pos(finddialog1.FindText, memo1.Text) <>0 then
begin
memo1.HideSelection:=false;
memo1.SelStart:=pos(finddialog1.FindText, memo1.Text)-1;
memo1.sellength:=length(finddialog1.findtext);
end else
messagedlg("Строка "+finddialog1.FindText+" не найдена!",mtinformation, [mbok],0);
end;
Итого получилось:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Memo1: TMemo;
FindDialog1: TFindDialog;
Button1: TButton;
procedure FindDialog1Find(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FindDialog1Find(Sender: TObject);
begin
if pos(finddialog1.FindText, memo1.Text) <>0 then
begin
memo1.HideSelection:=false;
memo1.SelStart:=pos(finddialog1.FindText, memo1.Text)-1;
memo1.sellength:=length(finddialog1.findtext);
end else
messagedlg("Строка "+finddialog1.FindText+" не найдена!",mtinformation, [mbok],0);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
finddialog1.Execute;
end;
end.
Если для Rich то замени Memo на Rich
Надеюсь, что хоть как-то помог. С уважением Intell
sergein@nojabrsk.ru
← →
Vovchik_A (2003-03-07 18:16) [9]1. Берешь текстовый файл
var
i : integer;
F : TextFile;
S: String;
begin
AssignFile(F,"D:\1111");
Reset(F);
While not EOF(F) Do Begin
Readln(f,s);
А вот здесь поищи функцией POS свой фрагмент
Label1.Caption:=S;
End;
end;
← →
SeNtiMeL (2003-03-07 18:52) [10]Человек же просит алгоритм....
Я не спец, но все равно смотри:
var
counter : integer;
F : TextFile;
S,tmp: String;
begin
Counter:=0;
AssignFile(F,"D:\1111.txt");
Reset(F);
While not EOF(F) Do Begin
Readln(f,s);
Repeat
i:=Pos("BLOCKED",s);
if i<>0 then
Begin
Delete(s,1,I+Length("BLOCKED")-1);
inc(Counter);
End;
Until i=0;
End;
end;
После просмотра всего файла, выдаст тебе кол-во совпадений
← →
SeNtiMeL (2003-03-07 19:05) [11]сории, ошибся в строке:
Delete(s,1,I+Length("BLOCKED")-1);
нужно:
Delete(s,i,Length("BLOCKED"));
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.03.20;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.012 c