![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
Народ,есть вопрос :
Допустим , на форме есть edit и кнопка. В edit пишется слово и при нажатии на кнопку куда-то должно записываться : "слово1" 1 если в edit написать другое слово и снова нажать на кнопку, то там же,будет вторая запись "слово1" 1 "слово2" 1 Если опять написать первое слово и нажать на кнопку, то будет так: "слово1" 2 "слово2" 1 вот как это реализовать ? введенных слов будет немного... до 20шт |
|
#2
|
||||
|
||||
|
Используйте ListBox. Добавляете слова как элементы списка. Listbox1.items.add('слово1'); А содержимое списка легко записывается в текстовый файл. Listbox1.items.savetofile('text.txt');
|
|
#3
|
||||
|
||||
|
можно через ini или типизированный файл. если нужен именно txt то вот:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var Fi : TextFile;
str : TStringList;
s : string;
i : integer;
begin
AssignFile(Fi, ExtractFilePath(paramstr(0))+'testtext.txt');
If not FileExists(ExtractFilePath(paramstr(0))+'testtext.txt') Then
begin
Rewrite(Fi);
CloseFile(Fi);
end;
Reset(Fi);
str := TStringList.Create;
While not EoF(Fi) Do
begin
Readln(Fi, s);
str.Add(s);
End;
CloseFile(Fi);
i:=0;
If str.Count>0 Then
While (i<str.Count) And (Pos('"'+Edit1.Text+'"', str[i])=0) Do
inc(i);
If i>=str.Count Then
str.Add('"' + Edit1.Text + '"' + ' 1')
else
str[i] := '"' + Edit1.Text + '"' + ' ' + IntToStr(StrToInt(Copy(str[i], Length(Edit1.Text)+4, Length(str[i])-Length(Edit1.Text)+4)) + 1 );
Rewrite(Fi);
For I := 0 To str.Count-1 Do
Begin
Writeln(Fi, str[i]);
End;
CloseFile(Fi);
end;Последний раз редактировалось KOOL, 22.03.2008 в 22:07. |
|
#4
|
|||
|
|||
|
KOOL : спасибо, но у вас не считает,если введенные слова повторяются..
|
|
#5
|
||||
|
||||
|
только что исправил
![]() |
|
#6
|
|||
|
|||
|
ага,спасибо огромное
|
|
#7
|
|||
|
|||
|
такс... получили мы в итоге вот такую штуку:
видео1 1 видео2 1 корпус1 3 проц1 1 корпус2 1 а как бы сделать,чтобы список выводился в таком виде: видео1 1 видео2 1 корпус1 3 корпус2 1 проц1 1 Т.е. если первые 2 символа одинаковые,то это означает одну категорию, если разные,то другую.. |