Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente bannato
    Registrato dal
    Apr 2003
    Messaggi
    1,119

    [delphi] conversioni tra tipi

    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 ???


  2. #2
    Utente bannato
    Registrato dal
    Apr 2003
    Messaggi
    1,119
    si può, vero?

  3. #3
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,296

    Re: [delphi] conversioni tra tipi

    Originariamente inviato da web ces
    da string a TStrings ???
    La classe TStrings è una classe astratta, pertanto non può essere utilizzata direttamente ma occorre utilizzare uno dei suoi discendenti (ad esempio, TStringList).

    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);
    Originariamente inviato da web ces
    da string a Tcaption ???
    Non c'è alcuna conversione da fare. Il tipo TCaption è equivalente alla stringa, poichè è definito come
    codice:
    type
      TCaption = type string;
    Il tipo è stato introdotto solo per motivi di gestione nell'Object Inspector.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

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

  4. #4
    Utente bannato
    Registrato dal
    Apr 2003
    Messaggi
    1,119
    ok grazie
    perchè allora il compilatore mi dice
    incompatible types 'String' and 'TStringList'?
    ah è il contrario di strlist.add(str)
    come si fa?
    grz

  5. #5
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,296
    Originariamente inviato da web ces
    perchè allora il compilatore mi dice
    incompatible types 'String' and 'TStringList'?
    Il compilatore ti dice che i tipi non sono compatibili perchè...non sono compatibili.

    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.

    Originariamente inviato da web ces
    è il contrario di strlist.add(str)
    come si fa?
    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.

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

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

  6. #6
    Utente bannato
    Registrato dal
    Apr 2003
    Messaggi
    1,119
    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!

  7. #7
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,296
    Originariamente inviato da web ces
    ho ricavato il testo da un file e vorrei scriverlo in una label...
    come diamine posso fare???
    Il testo da un file si può ricavare in mille modi diversi.

    Come hai caricato il testo?
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

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

  8. #8
    Utente bannato
    Registrato dal
    Apr 2003
    Messaggi
    1,119
    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;

  9. #9
    Utente bannato
    Registrato dal
    Apr 2003
    Messaggi
    1,119
    scusa ok ho capito! devo usare AddStrings per aggiungere tipi TStrings !
    grazie

  10. #10
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,296
    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;
    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.

    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:
    codice:
    Memo1.Lines.SaveToFile('nomefile.txt');
    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

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

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.