Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Pascal - načítání ze souboru/rozdělení žetězce

Zdravím, potřebuji radu. V programu načítám ze souboru txt pomocí Read, ovšem s jeho pomocí načtu celý řádek, a ne jeden řetězec ze 3. Části mam oddělené mezerou, jaký mám mezi řetězce dát znak, aby se načetl jen jeden? Je vůbec nějaký takový? Popřípadě, je možnost snadno rozdělit daný string pomocí " "? Děkuji za rady :) PS: Googlil jsem..

Předmět Autor Datum
Mezernik, jako oddelovac by mel fungovat. Pokud mám řádek: slovo1 slovo2 slovo3 a zavolam Read(s1,… nový
Jan Fiala 19.05.2015 10:19
Jan Fiala
Ano. nový
Bamberák 19.05.2015 10:21
Bamberák
Jenže já to načítám ze souboru, takže použiju Read(vysledky_soubor,s1,s2,s3); a to nejde. Řádek v so… nový
Bamberák 19.05.2015 10:30
Bamberák
Je to klasicky pascal nebo neco vyssiho - Delphi, FreePascal? Univerzalni reseni je nacist do jedne… nový
Jan Fiala 19.05.2015 10:37
Jan Fiala
Klasika... nový
Bamberák 19.05.2015 10:38
Bamberák
Super, jde to. Moc děkuji:) nový
Bamberák 19.05.2015 10:50
Bamberák
Pokud by tech promennych bylo vic, nez 3, pak by se vyplatilo to dat do cyklu: cyklus nacist prvni… poslední
Jan Fiala 19.05.2015 10:54
Jan Fiala
Problém je, že načítám string myslím si. Ten může obsahovat cokoli, ovšem integer ne... nový
Bamberák 19.05.2015 10:37
Bamberák

Je to klasicky pascal nebo neco vyssiho - Delphi, FreePascal?
Univerzalni reseni je nacist do jedne promenne, pakpomoci POS, COPY a DELETE rozdelit do 3 promennych

var
  s, s1, s2, s3: string;
begin
  s := 'Sdsdf" "654654" "455';
  s1 := Copy(s, 1, Pos(' ', s) - 1); 
  Delete(s, 1, Pos(' ', s));
  s2 := Copy(s, 1, Pos(' ', s) - 1);
  s3 := Copy(s, Pos(' ', s) + 1, 255);

Zpět do poradny Odpovědět na původní otázku Nahoru