Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 20 su 20

Discussione: [Delphi] Mid di VB?

  1. #11
    Grazie mille ho risolto come da te detto, dopo tutto è la stessa cosa!
    Chiedo un' altro favore come faccio a girare la stringa esiste un codice? in VB StrReverse

    es. "ciao" diventa "oaic"

    Sapete se c' è per Delphi? Grazie mille!
    jabjoint

  2. #12
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    3,259
    ... beh... tornando sul mio discorso..

    la sintassi delphi è simile al VB o mi sbaglio io?

    cioè... io la ho capita... quella che è stata scritta..

    nn sono competente... quindi ipotizzo!

  3. #13
    Magari se sapete anche il "Len"(numero byte di una stringa) di vb come ricavarlo...
    E magari anche per convertire da carattere ascii a codice.
    Cioè es. da 'a' ad '97'

    Il contrario del 'chr' che equivale per entrambi i linguaggi.
    Insomma.. Mi serve l' Asc di Delphi.

    Avete capito spero di siiiiiiiii ciao ciao e grazie!
    jabjoint

  4. #14
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,466

    Funzioni...

    Per ottenere la lunghezza di una stringa, si utilizza la funzione Length.

    Per calcolare invece l'ordinale di un carattere, che corrisponde al suo codice ASCII, si utilizza la funzione Ord.

    Viceversa, passando l'ordinale alla funzione Chr, si ottiene il carattere corrispondente.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

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

  5. #15
    Ok, Grazie mille se ti stufo ma ti prego aiutami se no non imparero' mai!
    Ho 2 problemi il primo è che dal testo non mi fa convertire in ord
    cioe se scrivo:



    ShowMessage(intToStr(ord('a'))); //Funge

    ma se inserisco..

    ShowMessage(ord(Edit1.Text); //Come fare????

    il 2° è...
    se voglio convertire da "ciao" a "oaic" sai come fare te lo richiedo perchè penso che non l' abbia letto su cmq.. Grazie di tutto ciao!




    jabjoint

  6. #16
    non mi risulta che delphi abbia una funzione del genere.

    se proprio ti serve creati tu la stringa ingersa con un ciclo

    PS: ma a cosa ti serve la stringa inversa?

  7. #17
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,466

    Ordinale del primo carattere di una stringa

    Per l'inversione della stringa sono d'accordo con bDaniele...credo che non ci sia una particolare utilità in una funzione del genere, quindi dubito che sia già disponibile in Delphi. Spesso si dà come esercizio per imparare a programmare...

    Per la domanda sulla ShowMessage, è errato utilizzare Ord su una stringa, ma va utilizzato su un singolo carattere, e nel nostro caso si tratta esattamente del primo.

    Fai così, usa l'ormai celeberrima funzione Copy per estrarti il primo carattere della stringa e successivamente passalo alla funzione Ord per ottenere il suo codice ASCII.

    Ti ricordo comunque che la casella di testo TEdit possiede un evento, OnKeyPress, che ti permette di intercettare i singoli tasti premuti.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

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

  8. #18
    Originariamente inviato da jabjoint

    ShowMessage(ord(Edit1.Text); //Come fare????
    o estrai il carattere come ha detto alka o fai cosi:


    ShowMessage(ord(Edit1.Text[1]);

    il metodo di riferirti ad un carattere in particolare è rischioso nel caso in cui il carattere chi fai riferimento è nullo, quindi o proteggi il tutto o almeno fai il controllo che la lunghezza sia maggiore o uguale all'elemento che tu stai estraendo.


  9. #19
    Grazie ancora ragazzi ho sistemato tutto!!!
    jabjoint

  10. #20
    //Il programma finale era questo che sono riuscito a realizzare
    //grazie al vostro aiuto.

    //Da testo a Binario:

    procedure TForm1.Button1Click(Sender: TObject);

    var r,r2,r3,txt:string;
    var n,n2:real;
    var k,k2:integer;

    Begin
    For k := 1 To Length(Memo1.Text) do Begin

    txt := Copy(Memo1.Text,k,1);

    if txt <> '' Then
    txt := IntToStr(ord(txt[1]));

    n:=StrToFloat(txt);

    While n <> 1 do Begin
    n2 := n / 2;
    If Int(n2) = n2 Then
    r := IntToStr(0)
    else
    r := IntToStr(1);
    //end else.
    n := Int(n2);
    r2 := r2 + r;
    End; //While
    r2 := r2 + IntToStr(1);

    For k2 := 0 To Length(r2) do Begin
    r3 := r3 + Copy(r2,Length(r2)-k2+1,1)
    End; //K2
    Memo2.Text := r2;
    End; //K

    End; //Begin
    End. //Procedure

    Ciao
    jabjoint

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 © 2025 vBulletin Solutions, Inc. All rights reserved.