|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
15.12.2006, 08:16 | #1 |
Регистрация: 15.12.2006
Сообщений: 4
|
Считывание строки из файла до символа
Ситуация есть файл edit1.txt в нём записаны слова через символ "&" например:
привет&hello пока&goodbye сегодня&today .....и т.д. как сделать чтобы при запуске программы т.е. при активации формы, слова из файла edit1.txt выводились в ListBox1 только до символа "&" и так каждую строку. Второе что надо: в этой де форме есть "edit1" и "button1" как сделать так чтобы, при вводе слова например "привет" делался поиск по файлу и выводилось значение которое стоит за символом "&". Выводилось например в "label1". |
15.12.2006, 08:49 | #2 |
Александр
Администратор
Регистрация: 28.10.2006
Сообщений: 17,501
|
берёться строка, всё что до символа в один массив, всё что после символа в другой. У тебя получаеться 2 массива и под одинаковыми номерами слова из одной строчки.
|
15.12.2006, 08:50 | #3 |
Забанен
Форумчанин Подтвердите свой е-майл
Регистрация: 01.11.2006
Сообщений: 420
|
s:string;
n:integer; считываешь строк s n:=pos('&',s) - позиция символа "&" в строке copy(s,1,n) - символы до "&" copy(s,n+1,length(s)-n) - символы после "&" работает если 1 символ "&".
Если ничто другое не помогает, прочтите, наконец, инструкцию! Аксиома Кана
|
15.12.2006, 09:49 | #4 | |
Регистрация: 15.12.2006
Сообщений: 4
|
Цитата:
так а как сделать поиск по файлу чтобы он искал значиние слова до символа & и выдавал значение то которое после символа & в лабел например.... Последний раз редактировалось zetrix; 15.12.2006 в 10:48. |
|
15.12.2006, 16:12 | #5 |
Студент
Форумчанин
Регистрация: 10.11.2006
Сообщений: 196
|
type
TMass = array[0..1023] of string; TBookRec = record x,y: TMass; Count: integr; end; procedure ReadBook(fname: string; symb: Char; var x: TBookRec); var i: integer; f1: TextFile; buffer: string; begin AssignFile(f1,fname); Reset(f1); i:=0; repeat Readln(f1,buffer); x.x[i]:=Copy(buffer,1,Pos(''+Symb,buffer)-1); x.y[i]:=Copy(buffer,Pos(''+Symb,buffer)+1 ,Length(buffer)-Pos(''+Symb,buffer)-1); Inc(i); until Eof(f1); CloseFile(f1); x.Count:=i+1; end; function FindIt(x: TBookRec; wrd: string): string; var i,j: integer; begin j:=-1; for i:=0 to x.Count do if x.x[i]=wrd then begin j:=i; break; end; if j=-1 then Result:='Word is not found' else Result:=x.y[j]; end; P.S. На правильность работы не проверял -> надо проверить! А сам принцип, я думаю, понятен.
Visita Interiorem Terrae Rectificando Operae Lapidem...
|
17.12.2006, 05:52 | #6 |
Регистрация: 15.12.2006
Сообщений: 4
|
procedure TForm1.Button3Click(Sender: TObject);
var f: TextFile; // файл fName: String[80]; // имя файла i: integer; begin fName := 'Edit1.Txt'; AssignFile(f, fName); Append(f); // открыть для добавления for i:=0 to Memo1.Lines.Count do // строки нумеруются с нуля if (Length(memo1.text)=0) or (Length(memo2.text)=0) then ShowMessage('Ошибка ввода данных.' +#13+'Bce поля должны быть заполнены.') else writeln(f, Memo1.Lines[i],'&',Memo2.lines[i]); MessageDlg('Данные добавлены',mtInformation,[mbOk],0); CloseFile(f); // закрыть файл memo1.Clear; memo2.Clear; Listbox1.Refresh; end; Это код для того чтобы записывал в файл слова через знак "&" но когда добавляешь в файл получается такая фигня: Добрый день&Good Day & под&under & досвидания&Good-bye & как сделать чтобы знака "&" во второй строке не появлялось...?подскажите где косяк в коде... |
17.12.2006, 12:21 | #7 |
Павел Сергеевич
Форумчанин
Регистрация: 05.11.2006
Сообщений: 665
|
С паскаля пересел...
writeln(f, Memo1.Lines[i]+'&'+Memo2.lines[i]);
Познавая других, мы познаем себя.
С'est la vie... |
18.12.2006, 15:01 | #8 |
Регистрация: 15.12.2006
Сообщений: 4
|
такая же фигня
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Считывание интов из файла | kydja | Общие вопросы C/C++ | 1 | 17.05.2008 18:16 |
Как из строки получить первые три символа | experts91 | Помощь студентам | 2 | 07.04.2008 21:58 |
удаление символа окончания строки | Xozer | SQL, базы данных | 1 | 07.02.2008 12:19 |
Считывание данных из файла | inret | Общие вопросы Delphi | 4 | 18.11.2007 18:03 |
Считывание из файла | DimkinStd | Общие вопросы Delphi | 7 | 24.01.2007 19:18 |