SkyD Posted April 21, 2007 Report Share Posted April 21, 2007 (edited) Gan jau, ka te arī mīt vairāki pascal pratēji, tāpēc pajautāšu jums vai pascalā arī ir iespējams sadalīt informāciju, piemēram šādu: vards|uzvards|19. PHP tas būtu ~ tā jauni_dati = explode("|", dati); Ko varētu izvadīt šādi: vards uzvards 19 Tad kā to var izdarīt iekš pascal ņemot datus no faila ? Edited April 21, 2007 by SkyD Link to comment Share on other sites More sharing options...
bubu Posted April 21, 2007 Report Share Posted April 21, 2007 Un kāpēc gan ne? Pseidokodā: jauni_dati = tukšs_masīvs(); while (ir atrasts '|' iekš dati) begin tmp = izgriezt_gabalu_no(dati); pielikt_beigās_(jani_dati, tmp); end; Link to comment Share on other sites More sharing options...
SkyD Posted April 24, 2007 Author Report Share Posted April 24, 2007 kaa, lai ieksh while cikla es mekleeju tieshi | simbolu? vinjsh man izvada veselu rindu bla|bla|bla.. un kaa vinju izgriezt? Link to comment Share on other sites More sharing options...
bubu Posted April 24, 2007 Report Share Posted April 24, 2007 Skaties uz Pos funkciju, ja nemaldos. Un izgriež ar Copy funkciju, ja nemaldos. (sliktākajā gadījumā taču pats varēji for (i=1..length) if i=='|' break uztaisīt tak) eh.. Vai vismaz manuāli atšķirt par string funkcijām... Link to comment Share on other sites More sharing options...
Joyride Posted April 25, 2007 Report Share Posted April 25, 2007 Sita briniskiga funkcija noder, ja vajag dabut ara kadu elementu no stringa ar konkretu indeksu. // Parametri: [1] strings, no kura izvilkt elementu, [2] atdalosais simbols, [3] elementa indekss function GetToken(aString, SepChar: string; TokenNum: Byte): string; var Token: string; StrLen: Integer; Num: Integer; EndofToken: Integer; begin StrLen := Length(aString); Num := 1; EndofToken := StrLen; while ((Num <= TokenNum) and (EndofToken <> 0)) do begin EndofToken := Pos(SepChar, aString); if EndofToken <> 0 then begin Token := Copy(aString, 1, EndofToken - 1); Delete(aString, 1, EndofToken); Inc(Num); end else Token := aString; end; if Num >= TokenNum then Result := Token else Result := ''; end; Piemers: GetToken('Word1 Word2 Word3', 2, ' ') = 'Word2' GetToken('Word1/Word2/Word3', 2, '/') = 'Word2' Link to comment Share on other sites More sharing options...
Recommended Posts