Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.04.01;
Скачать: [xml.tar.bz2];

Вниз

Как считать символы в memo после   Найти похожие ветки 

 
Ирина   (2002-03-18 11:25) [0]

Здраствуйте уважаемые, не могли бы Вы подсказать как можно считать в переменную все слова и тэги, находящиеся в memo после символа "#". Заранее благодарна.


 
Виктор Щербаков   (2002-03-18 11:30) [1]

Copy(Memo1.Text, Pos("#", Memo1.Text) + 1, Length(Memo1.Text));


 
Song   (2002-03-18 12:44) [2]

2Виктор Щербаков © (18.03.02 11:30)
Copy(Memo1.Text, Pos("#", Memo1.Text) + 1, Length(Memo1.Text) -Pos("#", Memo1.Text));


 
Ирина   (2002-03-18 12:44) [3]

Делаю вот так :
var
f: textfile;
s: string;
begin
AssignFile(f,"text.txt");
Reset(f);
while not eof(f) do
begin
readln(f,s);
S := Copy(S, Pos("#", S) + 1, Length(S));
memo2.Text:= s;

В случае если в текстовом файле text.txt несколько строк после символа # он показывает только последний из них, а все предудущие теряет, в чем тут дело?


 
Song   (2002-03-18 12:48) [4]

2Ирина
1. Исправьте как я уточнил выше.
2. Не пойму как это "если несколько строк после символа #"? Ведь Вы считываете в S всего лишь одну строку.


 
gek   (2002-03-18 12:49) [5]


readln(f,s);
i:=Pos("#", S);
if i <> 0 then
S := Copy(S, i + 1, (Length(S) - i));
memo2.lines.add(s);




 
Виктор Щербаков   (2002-03-18 12:52) [6]

Song © (18.03.02 12:48)
function Copy(S; Index, Count: Integer): string;
...
If Count specifies more characters or array elements than are available, only the characters or elements from S[Index] to the end of S are returned.


 
MBo   (2002-03-18 12:55) [7]

вместо memo2.Text:= s; - это каждый раз замена всего
надо memo2.lines.add(s);
copy c излишней длиной работает, хотя и смотрится сомнительно.
бывает полезно.


 
Song   (2002-03-18 13:03) [8]

2Виктор Щербаков © (18.03.02 12:52)
В принципе Вы правы конечно, но так программисты не поступают. Во всём нужен порядок. Лучше сделать красивей, чем уповать на такие правила, ИМХО конечно.


 
Ирина   (2002-03-18 19:10) [9]

Господи, сколько же тут тонкостей :( если текст расположен в txt файле таким образом:

привет#пока

то отлично работает вот этот код:
readln(f,s);
i:=Pos("#", S);
if i <> 0 then
S := Copy(S, i + 1, (Length(S) - i));
memo1.lines.add(s);

Однако, если текст расположен вот так(именно мой вариант):

привет
#
пока

то код уже не работает, считываются символы находящиеся и до "#". Большая просьба все-таки помочь разобраться мне с этой проблемой.


 
Anatoly Podgoretsky   (2002-03-18 20:21) [10]


while not eof(f) do begin
readln(f,s);
if Pos("#", S) <> 0 then begin
S := Copy(S, Pos("#", S) + 1, Length(S));
memo1.lines.add(s);
Break;
end;
end;
while not eof(f) do
begin
readln(f,s);
memo1.lines.add(s);
end;


 
Kornet   (2002-03-19 07:37) [11]

Могу предложить мой вариант реализации:

type TArrStr = array of string;
......
function explode(Separator:Char; Str:string):TArrStr;
var tmp:string;
marray:TArrStr;
size_array, len:integer;
begin
tmp:=Str;
size_array:=1;
while Pos(Separator, tmp) > 0 do
begin
len:=Pos(Separator, tmp);
SetLength(marray,size_array);
marray[size_array-1]:=TrimLeft(TrimRight(copy(tmp,1,len-1)));
tmp:=copy(tmp,len+1,Length(tmp)-len);
inc(Size_array);
end;
SetLength(marray,size_array);
marray[size_array-1]:=TrimLeft(TrimRight(tmp));
Result:=marray;
end;



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2002.04.01;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.005 c
4-352
Relict
2002-02-01 11:14
2002.04.01
добавление своей строки в системный трей


1-175
AEro
2002-03-19 16:54
2002.04.01
Как передать значение из одной проги в другую?


3-69
Huliganka
2002-03-06 21:27
2002.04.01
Delphi & MS SQL server


6-258
greenrul
2002-01-17 18:49
2002.04.01
Как убрать scrollbar ы у WebBrowser?


1-118
lipskiy
2002-03-20 21:46
2002.04.01
TThread: Как создать свой объект-сигнализатор?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский