Italian community of Lazarus and Free Pascal

Programmazione => Generale => Topic aperto da: AlexLazarus - Novembre 04, 2022, 11:35:54 am

Titolo: [RISOLTO] Conversione ASCII in numero e (soprattutto) viceversa.
Inserito da: AlexLazarus - Novembre 04, 2022, 11:35:54 am
Scusate, ma sto entrando in confusione per la conversione di valori in codice ASCII e viceversa.

Il banalissimo programma (screenshot) funziona perfettamente (Button1Click) per convertire il carattere ASCII (presente in Edit1) nel corrispondente valore numerico.

Il viceversa (da Edit2 numerico > codice ASCII) non riesco proprio a ottenerlo.

Ho fatto moltissime ricerche sul web ma ho trovato solo conversioni "dirette" di un numero nel corrispondente codice ASCII.

Il problema è:

1) "Estrarre" il valore numerico contenuto in Edit2
2) Convertire tale valore numerico nel codice ASCII corrispondente.

Che tipo di varabili assegnare a stringa e numero? Che comandi impartire?

Grazie in anticipo.
Titolo: Re:Conversione ASCII in numero e (soprattutto) viceversa.
Inserito da: nomorelogic - Novembre 04, 2022, 11:41:06 am
credo che ti serva la funzione chr

https://www.freepascal.org/docs-html/rtl/system/chr.html (https://www.freepascal.org/docs-html/rtl/system/chr.html)
Titolo: Re:Conversione ASCII in numero e (soprattutto) viceversa.
Inserito da: AlexLazarus - Novembre 04, 2022, 03:50:20 pm
Lo speravo anch'io e infatti ho fatto tantissimi test al riguardo, anche con altri (Val, IntToStr, eccetera).
Il problema è nella conversione dal contenuto di Edit2 al valore numerico che rappresenta.
Credo ci sia un conflitto tra le impostazioni Var, ma non riesco a individuarlo (e a risolverlo).
Ovviamente nello screenshot c'è la bozza della procedura, che dovrei completare dopo aver risolto il problema della conversione da testo-numerico-di-Edit2 > numero.
Titolo: Re:Conversione ASCII in numero e (soprattutto) viceversa.
Inserito da: nomorelogic - Novembre 04, 2022, 04:51:30 pm
Edit2.Text è una stringa
per questo non puoi assegnarla ad un carattere

se ho capito bene dalle immagini quello che stai facendo forse la soluzione che cerchi è:
Codice: [Seleziona]
procedure .....
var  numero: byte;
     carattere: char;
begin
   numero := StrToInt(Edit2.Text);
   carattere := chr(numero);
end;


vorrei inoltre suggerirti di non chiedere aiuto solo con le immagini ma anche (e soprattutto) con dei brani di codice
questo per facilitare la ricerca nel forum (quello che c'è in un'immagine non funziona con i "search")
ma anche perché altrimenti dobbiamo riscrivere tutto noi :)
Titolo: Re:Conversione ASCII in numero e (soprattutto) viceversa.
Inserito da: AlexLazarus - Novembre 05, 2022, 06:54:22 am
Anzitutto, grazie per la risposta, rapida, precisa e puntuale.
Per quanto riguarda il codice, hai ragione; però...
Nel caso specifico NON c'era alcun codice: infatti cercavo aiuto perché quelle sole due righe erano pure errate!
Comunque la prossima volta giuro che farò richieste più dettagliate.
Grazie ancora!