Formatowanie prostego tekstu
Strona [ 1 ] z 1
| janosik00 |
08-02-2010 12:35 |
|
|
Hej mam problem, dopiero zaczynam programowanie w Delphi, i potrzebuje wyciągnąć tekst z takiego zdania: slowo1|slowo2|slowo3 takie zdanie jest w jednej zmiennej string ale ja potrzebuje wyciagnac kazde słowo slowo1,slowo2,slowo3 i wlozyc kazde slowo do trzech roznych zmiennych...w jaki sposob to zrobic automatycznie korzystajac z tych znakow rozdzielających "|" , czy jest jakas gotowa funkcja ?? dzieki za pomoc |
|
|
| cimak |
08-02-2010 12:45 |
|
Użytkownik Status: Offline Dołączył: 01-12-2002 Skąd: Chatka na środku lasu |
jest wiele szkół ja robie tak:var list:TStringList; i:Integer; begin list:=TStringlist.Create; list.Text:='slowo1|slowo2|slowo3'; list.Text:=StringReplace(list.Text,'|', #13#10 , [rfReplaceAll] ); //lub te dwie linijki mozna zamienic na jedna: list.Text:=StringReplace('slowo1|slowo2|slowo3','|', #13#10 , [rfReplaceAll] ); for i:=0 to list.Count-1 do showmessage(list[i]); list.Free; end; po prostu zamieniasz znaki z "|" na znak nastepnej linii "#13#10" i w ten sposob masz kolejne slowa w kolejnych itemach. mozna jeszcze tak: var list:TStringList; i:Integer; begin list:=TStringlist.Create; ExtractStrings(['|'], [' '], PChar('slowo1|slowo2|slowo3'), list); for i:=0 to list.Count-1 do showmessage(list[i]); list.Free; end; Ostatnio zmodyfikowany: 08-02-2010 12:52 przez cimak |
|
|
| czytaczek |
08-02-2010 12:56 |
|
|
albo tak procedure TForm1.Button1Click(Sender: TObject); var str : TStringList; i : integer; begin str := TStringList.Create; str.Delimiter := '|'; str.DelimitedText := 'aaa|bbb|ccc'; for i := 0 to str.Count-1 do begin Memo1.Lines.Add(str.Strings[i]); end; end; |
|
|
| Misiekd |
08-02-2010 13:00 |
|
Użytkownik Status: Online Dołączył: 02-12-2003 Skąd: Dąbrowa Górnicza |
tu trzeba uważać bo SL traktuje każdy znak o kodzie mniejszym od 33 (CZYLI SPACE TEŻ!) jako delimiter przez internet społeczeństwo jest coraz głupsze... Google NIE GRYZIE! Ogrodzenia, meble kute i nie tylko Pomogłem - kliknij |
|
|
| zajcev |
08-02-2010 13:33 |
|
Użytkownik Status: Offline Dołączył: 11-01-2008 Skąd: Bielsko-Biała |
Albo użyć tej procki.. Parametr 1 to tekst, 2 to znak separatora, 3 lista do ktorej maja byc wrzucone poszczegolne czesci.. procedure prTokenize(AText: String; ASeparator: Char; var AList: TStringList); begin AList.Clear; while (Pos(ASeparator, AText) > 0) do begin AList.Add(Copy(AText, 0, Pos(ASeparator, AText) -1)); AText := Copy(AText, Pos(ASeparator, AText) + 1, Length(AText) -Pos(ASeparator, AText)); end; if (Length(Trim(AText)) > 0) then AList.Add(Trim(AText)); end; |
|
|
|
|
|
Strona [ 1 ] z 1
| 1 użytkownik(ów) przegląda ten temat (1 gości) |
|---|
| (żadnych zarejestrowanych użytkowników) |









ja robie tak:
