Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di danz67
    Registrato dal
    May 2005
    Messaggi
    213

    [DELPHI 7] - Frammentazione stringa

    Ciao a tutti,

    ho una stringa formata pressapoco cosi:

    dato1@dato2@dato3@dato4@dato5@

    ho la necessita di frammentare la stringa e di eliminare il simbolo @ e suddividere il risultato

    esempio...

    dato1

    dato2

    dato3

    dato4

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    1,315
    ciao, ho avuto un problema simile.

    cercando su internet ho trovato del codice che poi ho un po adattato alle mie esigenze....


    function split(input:string;schar:char;s:integer):string;
    var
    i,n:integer;
    schop: string;
    begin
    n := 0;
    for i := 1 to length(input) do
    begin
    if (input[i] = schar) then
    begin
    inc(n);
    if n = s then
    split := schop
    else
    schop := '';
    end
    else
    schop := schop + input[i];
    end;

    inc(n);
    if n = s then split := schop;

    end;


    per estrarre i dati devi fare cosi:

    StringaDati:='dato1@dato2@dato3@dato4@dato5@'

    MiaStringa:= SPLIT(StringaDati,'@',3);

    in questo caso MiaStringa conterra 'Dato3'.

    ciao

  3. #3
    Utente di HTML.it L'avatar di danz67
    Registrato dal
    May 2005
    Messaggi
    213
    Sei stato di grande aiuto, sono riuscito ad adattare perfettamente la tua soluzione alle mie esigenze.
    Grazie mille

  4. #4
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,296
    Penso sia possibile usare anche la classe TStringList e la proprietà DelimiterChar, ma dato che hai già risolto brillantemente...
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  5. #5
    Utente di HTML.it L'avatar di danz67
    Registrato dal
    May 2005
    Messaggi
    213
    Originariamente inviato da alka
    Penso sia possibile usare anche la classe TStringList e la proprietà DelimiterChar, ma dato che hai già risolto brillantemente...
    Visto che c'è sempre da imparare, penso che sarebbe interessante usare anche questa tecnica.
    Eventualmente postero' i miei dubbi.


  6. #6
    Utente di HTML.it L'avatar di danz67
    Registrato dal
    May 2005
    Messaggi
    213
    Originariamente inviato da 123delphi321
    ciao, ho avuto un problema simile.

    cercando su internet ho trovato del codice che poi ho un po adattato alle mie esigenze....


    function split(input:string;schar:char;s:integer):string;
    var
    i,n:integer;
    schop: string;
    begin
    n := 0;
    for i := 1 to length(input) do
    begin
    if (input[i] = schar) then
    begin
    inc(n);
    if n = s then
    split := schop
    else
    schop := '';
    end
    else
    schop := schop + input[i];
    end;

    inc(n);
    if n = s then split := schop;

    end;


    per estrarre i dati devi fare cosi:

    StringaDati:='dato1@dato2@dato3@dato4@dato5@'

    MiaStringa:= SPLIT(StringaDati,'@',3);

    in questo caso MiaStringa conterra 'Dato3'.

    ciao
    Ho un'altra necessità.
    Invio una query... select cognome, nome from clienti where idcliente = 23
    il risultato mi viene restituito formattato da una pagina php cosi:

    rossi@mario@

    a questo punto mi serve estrarre i due valori restituiti e dividerli cosi:

    rossi
    mario

    mi puoi aiutare perfavore?

    Grazie

  7. #7
    Utente di HTML.it L'avatar di danz67
    Registrato dal
    May 2005
    Messaggi
    213
    Fermi tutti, ci sono riuscito con il suggerimento di Alka.

    Grazie a tutti,

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.