come posso fare conversioni tra valori di tipi diversi?
es. da integer a string IntToStr()
da string a integer StrToInt()
da string a TStrings ???
da string a Tcaption ???
come posso fare conversioni tra valori di tipi diversi?
es. da integer a string IntToStr()
da string a integer StrToInt()
da string a TStrings ???
da string a Tcaption ???
si può, vero?
La classe TStrings è una classe astratta, pertanto non può essere utilizzata direttamente ma occorre utilizzare uno dei suoi discendenti (ad esempio, TStringList).Originariamente inviato da web ces
da string a TStrings ???
Ad ogni modo, tale classe rappresenta una lista di stringhe, pertanto una stringa può essere aggiunta all'elenco con il metodo Add oppure è possibile inizializzare la lista di stringhe per intero attraverso la proprietà Text.
codice:AStringList.Add(AString);Non c'è alcuna conversione da fare. Il tipo TCaption è equivalente alla stringa, poichè è definito comeOriginariamente inviato da web ces
da string a Tcaption ???
Il tipo è stato introdotto solo per motivi di gestione nell'Object Inspector.codice:type TCaption = type string;
MARCO BREVEGLIERI
Software and Web Developer, Teacher and Consultant
Home | Blog | Delphi Podcast | Twitch | Altro...
ok grazie
perchè allora il compilatore mi dice
incompatible types 'String' and 'TStringList'?
ah è il contrario di strlist.add(str)
come si fa?
grz
Il compilatore ti dice che i tipi non sono compatibili perchè...non sono compatibili.Originariamente inviato da web ces
perchè allora il compilatore mi dice
incompatible types 'String' and 'TStringList'?
Non c'è altro da dire. Il primo tipo è un insieme di caratteri, mentre il secondo è una classe più complessa che è in grado di contenere una lista di stringhe.
I tipi sono in apparenza e in sostanza diversi, quindi non è chiaramente impossibile assegnare l'uno all'altro...non vedo nemmeno perchè questo debba essere possibile.
Cosa significa "il contrario"? La StringList è in grado di contenere insiemi di stringhe; il metodo Add permette di aggiungere una stringa alla lista...il contrario sarebbe toglierla secondo la tua ottica? In tal caso, esiste il metodo Delete a cui viene passato l'indice della stringa da rimuovere.Originariamente inviato da web ces
è il contrario di strlist.add(str)
come si fa?
Ciao!
MARCO BREVEGLIERI
Software and Web Developer, Teacher and Consultant
Home | Blog | Delphi Podcast | Twitch | Altro...
scusa, vediamo se riesco a farm capire...
ho ricavato il testo da un file e vorrei scriverlo in una label...
come diamine posso fare???
grz!
Il testo da un file si può ricavare in mille modi diversi.Originariamente inviato da web ces
ho ricavato il testo da un file e vorrei scriverlo in una label...
come diamine posso fare???
Come hai caricato il testo?
MARCO BREVEGLIERI
Software and Web Developer, Teacher and Consultant
Home | Blog | Delphi Podcast | Twitch | Altro...
ok ho fatto un casino tremendo...
ecco il mio codice...
codice:procedure TForm1.scriviClick(Sender: TObject); var file1: TStringList; testo: Tstrings; fnome: string; begin fnome := nome.Text; testo := txt.lines; {<-- TMemo.lines:TStrings} file1 := TStringList.Create; try file1.add(testo); {non va! uncompatible 'TStringList' e 'TStrings'} file1.SaveToFile(filenome); finally file1.Free; end; end; procedure TForm1.leggiClick(Sender: TObject); var file2: TStringList; begin file2 := TStringList.Create; try file2.loadFromFile(filenome); label1.Caption := file2.Text ; finally file2.Free; end; end;
scusa ok ho capito! devo usare AddStrings per aggiungere tipi TStrings !
grazie
L'errore mi pare evidente: il metodo Add di TStringList accetta come parametro una stringa da aggiungere alla lista, mentre tu non stai passando una stringa bensì un oggetto di tipo TStrings, che fa riferimento all'oggetto TStrings della proprietà Lines del Memo.Originariamente inviato da web ces
ok ho fatto un casino tremendo...
ecco il mio codice...
codice:procedure TForm1.scriviClick(Sender: TObject); var file1: TStringList; testo: Tstrings; fnome: string; begin fnome := nome.Text; testo := txt.lines; {<-- TMemo.lines} file1 := TStringList.Create; try file1.add(testo); {non va! uncompatible 'string' e 'TStrings'} file1.SaveToFile(filenome); finally file1.Free; end; end;
Comunque, la proprietà Lines del Memo è di tipo TStringList, pertanto puoi salvare l'intero contenuto del Memo in un file di testo chiamando il metodo SaveToFile:
Ciao!codice:Memo1.Lines.SaveToFile('nomefile.txt');
MARCO BREVEGLIERI
Software and Web Developer, Teacher and Consultant
Home | Blog | Delphi Podcast | Twitch | Altro...