Italian community of Lazarus and Free Pascal

Programmazione => Databases => Topic aperto da: gianpa - Gennaio 31, 2013, 04:45:18 pm

Titolo: convertire ansistring in string
Inserito da: gianpa - Gennaio 31, 2013, 04:45:18 pm
ciao ragazzi , volevo cambiare il nome di una tabella a runtime per poter caricare dati diversi senza uscire dal programma e ho fatto così :

SQLQuery1.SQL.text:=combobox1.Items;

dove in items ho sctitto 'select * from tabella1'
e 'select * from tabella2'
in modo da selezionare la tabella dal combobox1 ,ma probabilmente non è così semplice visto che mi dice che sono stringhe incompatibili !

aiutatemi voi !!!!!!!!!!!
Titolo: Re:convertire ansistring in string
Inserito da: xinyiman - Gennaio 31, 2013, 09:21:11 pm
Hai provato con il cast?! Tipo

SQLQuery1.SQL.text:=String(combobox1.Items);

Fammi sapere se funziona
Titolo: Re:convertire ansistring in string
Inserito da: Stilgar - Febbraio 01, 2013, 11:14:53 am
We, ma che consigli dai ...
Codice: [Seleziona]
public property TCustomComboBox.ItemIndex: Integer
Codice: [Seleziona]
public property TCustomComboBox.Items: TStrings

Usa l'indice per sapere quale delle N ipotesi (Items della combo) è stata selezionata.

Stilgar
Titolo: Re:convertire ansistring in string
Inserito da: xinyiman - Febbraio 01, 2013, 02:40:14 pm
We, ma che consigli dai ...
Codice: [Seleziona]
public property TCustomComboBox.ItemIndex: Integer
Codice: [Seleziona]
public property TCustomComboBox.Items: TStrings

Usa l'indice per sapere quale delle N ipotesi (Items della combo) è stata selezionata.

Stilgar

Hai ragione quando ho risposto ero davvero rincoglionito. Chiedo scusa...
Titolo: Re:convertire ansistring in string
Inserito da: Stilgar - Febbraio 01, 2013, 03:05:03 pm
hahaha.
Nessun problema ;)
Titolo: Re:convertire ansistring in string
Inserito da: gianpa - Febbraio 01, 2013, 10:23:35 pm
ho cercato di orientarmi ,ma ho incontrato qualche difficoltà!
TcustomComboBox lo devo creare ? o è solo il nome che dai al combobox1 del mio esempio?
un oggetto TcustomCombobox altrimenti non lo trovo nella palette!

ciao
e grazie per la pazienza!!!
Titolo: Re:convertire ansistring in string
Inserito da: nomorelogic - Febbraio 02, 2013, 08:52:44 am
Quando il nome di una classe inizia per TCustom vuol dire che è una superclasse ovvero una classe (molto spesso astratta) dalla quale si fanno derivare le classi che si devono usare.
Nella palette non troverai mai una superclasse di questo tipo perchè non è utilizzabile e non ha neanche senso crearla a runtime, se non per ereditarla.

Se guardi in questo link http://lazarus-ccr.sourceforge.net/docs/lcl/stdctrls/tcombobox.html (http://lazarus-ccr.sourceforge.net/docs/lcl/stdctrls/tcombobox.html), scorrendo in basso, trovi l'albero con tutte le superclassi di TComboBox fino ad arrivare a TObject che è la superclasse dalla quale tutte le altre derivano.

Quindi quando ci si riferisce a TCustomComboBox.Items ci si riferisce alla proprietà Items che tutte le classi derivate da TCustomComboBox devono avere.

E' chiaro che tu devi fare riferimento a TComboBox.Items. ;)
Titolo: Re:convertire ansistring in string
Inserito da: Stilgar - Febbraio 02, 2013, 01:32:38 pm
Ops.... io ho preso la documentazione, non ho fatto caso a quale padre le dichiarava.
Scusate per la disattenzione.

Stilgar
Titolo: Re:convertire ansistring in string
Inserito da: gianpa - Febbraio 03, 2013, 01:37:15 pm
ho provato ,ma ritrovo lo stesso errore ! forse ricado nello stesso modo di pensare !!! ora riprovo dal tuo suggerimento dell'indice anche se poi il problema resta la compatibilità delle stringhe quando voglio assegnare un valore(stringa) alla proprietà sql ... non è che puoi postare un esempio su come faresti tu ?
CIAO e GRAZIE !!!

Titolo: Re:convertire ansistring in string
Inserito da: nomorelogic - Febbraio 03, 2013, 03:21:21 pm
se non ricordo male:

Codice: [Seleziona]
SQLQuery1.SQL.text := combobox1.Items[combobox1.ItemIndex];
Titolo: Re:convertire ansistring in string
Inserito da: gianpa - Febbraio 04, 2013, 07:04:52 pm
grazie ! questa parte ora funziona !

ciao