Newsgroup: it.comp.lang.delphi
Titolo: E' possibile mettere un Tag davanti ad una stringa che andra' salvata in un file?

Ciao a tutti,
E' possibile mettere un Tag davanti ad una stringa che estraggo dal 
Combobox.text, per poi scriverla in un file, per poi accedere allo stesso 
file e selezionare una specifica stringa?
_____________________________
es:
 [tag_1]+Combobox.text
 [tag_2]+Combobox.text
       .......
 [tag_n]+Combobox.text
_____________________________
Poi li devo inserire in un file e ricercarli per tag!
E' possibile farlo e come si gestiscono i tag di questo tipo?
Grazie
Daniel 

 ha scritto nel messaggio
news:4497d79e$0$5094$4faf...@reader2.news.tin.it...

Se ho capito ...
Se i vari item del combo li crei 'al volo' prova a vedere se il metodo
"AddObject"  puo' fare al caso tuo:
Es:
ComboBox1.Items.AddObject('Item1', Pointer(1))
...
ComboBox1.Items.AddObject('ItemN', Pointer(N))
x poi riprenderli con
valoreTagItem := INTEGER(ComboBox1.Items.Object[ComboBox1.Itemindex]);
ValoreItem := ComboBox1.Items[ComboBox1.Itemindex];
NB: Codice scritto al volo non testato
Saluti Goblin

"^_Goblin_^" <nic_sab(...)@(...)libero(.)it> ha scritto nel messaggio 
news:v7Slg.17542$bj6....@tornado.fastwebnet.it...

Grazie Goblin,
devo ancora provare questo metodo, perche' ora sto provando con un'altra 
strada... ma sara' il passaggio successivo...
Appena l'avro provato ti faccio sapere
Grazie
P.S non so se ti interessa ma ho un Goblin sul polpaccio tatuato ;)
Ciao
Daniel 


Ciao.
Se ho capito bene, vuoi creare un ComboBox che contiene stringhe 
(ovviamente...); queste stringhe andranno prelevate (es.: OnClick per 
determinare l'ItemIndex) e salvate in un file;
successivamente vorresti poter accedre direttamente alla stringa 
per "tag": allora crea un file di testo di tipo TIniFile, nel quale 
inserirai il tag [sezione] come "tag"  di collegamento, e 
valore "v1="+stringa prelevata dal ComboBox, magari costruendo la 
variabile cosi':
 "v" + "ItemIndexComboBox" + "=" + "TestoEstrattoDalComboBox"
ad ogni accesso, dopo aver inizializzato il file, potrai sempre accedere 
alla stringa desiderata conoscendone il Tag, creato in modo diverso ad 
ogni accesso al ComboBox.
Ciao
NioBi
NioBi
--- posted by geoForum on 
http://www.delphiedintorni.it

 ha scritto nel messaggio 
news:4fsp9fF...@individual.net...

Grazie NioBi per lo spunto e la spiegazione!
Hai capito perfettamente infatti a me servirebbe per creare una sorta di 
memoria del combobox con le ultime 10 stringhe richiamate!
Io ora l'ho svolto utilizzando un semplice file di testo che lo popolo con 
una procedura con vari controlli per non ripetere le stringhe uguali e nel 
frattempo mi si popola anche a runtime il combobox, il file si popola in 
chiusura programma prelevando dal combobox e poi in avvio il combobox si 
ripopola da file!
Ora lo faccio con i Tag che penso mi faciliteranno nelle condizioni di 
controllo rispetto alle mie funzioni!
Ricapitolando io ho creato ora il mio inifile mio.ini e faccio questo : 
MioIni.WriteString('Tag', 'v1', Combobox.text); dove combobox.text e' la 
stringa riportata nel momento in cui avvio un evento ad esso collegato!
Non ho ben capito questo passaggio: v" + "ItemIndexComboBox" + "=" + 
"TestoEstrattoDalComboBox" e come si puo' poi accedere alle stringhe e al 
tag che io vorrei enumerare(qual'e' il suo campo?) es: [NomedelTag(che sara' 
uguale per tutti)_#(e il suon numero che magari porro tra 0 e 9 le stringhe 
massime nel menu' a scoparsa del combobox)]
Cmq nel frattempo mi documento cercando come utilizzare [section] e 
l'inifile!
Grazie
Daniel

 ha scritto nel messaggio 
news:44998dd9$0$16926$4faf...@reader4.news.tin.it...

Se hai altri suggerimenti scrivili pure, cmq sono riuscito ad ulizzare le 
proprietą dell'Tinifile!
Grazie ancora
Daniel 

 ha scritto nel messaggio 
news:4499ba29$0$16934$4faf...@reader4.news.tin.it...

Piccolo problema , ticiamo che il file .ini e' gia creato e voglio leggere 
un valore coe segue:
____________________________________________________
//ciclo
combobox.Items.Add(MioIni.ReadString('Tag', 'CB_'+IntToStr(I), *******))
____________________________________________________
Dove ci sono gli asterischi nel mio file .ini c'e ' una stringa, cosa devo 
scriverci per farmi ridare quella stringa!?
La sintassi che ho utilizzato e' corretta?, sapendo che il mio file ini e' 
cosi:
[Tag]
CB_0=C:\programmi
CB_1=D:\programmi
CB_2=C:\programmi\Game
Grazie
Daniel 

 ha scritto nel messaggio 
news:449a6822$0$5095$4faf...@reader2.news.tin.it...

Ormai sto facendo un monologo credo che la cosa esatta da fare sia:
combobox.Items.Add(MioIni.ReadString('Tag', 'CB_'+IntToStr(I), ''))
giusto?
Ma non carica nulla nel combobox?
Grazie
Daniel

 ha scritto nel messaggio 
news:449a6be4$0$16932$4faf...@reader4.news.tin.it...

Capito di nuovo dove era l'errore, sbagliavo il ciclo, pero' il problema 
permane perche' non so come fare per il ciclo perche' non so in anticipo 
quante righe contiene il mio file .ini
esempio :
[Tag]
CB_0=C:\programmi
CB_1=D:\programmi
CB_2=C:\programmi\Game
Non so come fare un ciclo  tra 0....2 perche' la volta dopo che si ripetera' 
in apertura applicazione le righe del .ini potrbbero essere di piu' o di 
meno!
Se metto i:=0 to 9 , mi da errore out of bound?!
Come posso risolvere?
Grazie
Daniel 

 Come posso risolvere?
MyIniFile.ReadSection ('Tag'; ComboBox1.Items);
Cosi' non hai il problema di sapere quanti elementi sono presenti nella
sezione del file. ;)
Ciao.
---
Ryo GQI

 Daniel
Ciao, Antò.
Inviato da X-Privat.Org - Registrazione gratuita 
http://www.x-privat.org/join.php

 ha scritto nel messaggio 
news:449a72eb$0$9607$5fc...@news.tiscali.it...

Ottimo, piano piano me li imparo tutti i metodi! :)
OPS, piccolo problema mi carica CB_0, CB_1 ecc
CIao
Daniel 

In data Thu, 22 Jun 2006 12:28:19 +0200, Daniel Magrini ha scritto:
[cut]
ma alla fine che devi fare?
Se ti serve salvare gli items del combobox 
per ricaricarli successivamente 
combobox.items.savetofile('nomefile');
combobox.items.loadfromfile('nomefile');


 Ryo GQI
Ottimo, piano piano me li imparo tutti i metodi! :)
OPS, piccolo problema mi carica CB_0, CB_1 ecc
Come gli dico che voglio tutti i valori e non gli Ident?
Ciao
Daniel

 Come posso risolvere?
1) leggere sempre l'help
2) non esistono solo i cicli for (esiste anche il while ed il repeat)
3) il terzo parametro e' il valore di default che ti ritorna se NON
trova l'item richiesto...
4) leggere sempre l'help
buona riflessione
ciao
S

 Daniel
Un cazzo!!!


 Un cazzo!!!
Ma non capisco perche' questa risposta! Se ti ho mancato di rispetto allora 
lo potrei accettare!
Leggere solo se 'Un cazzo' che mi hai riferito era giustificato da una 
mancanza di rispetto nei tuoi confronti : Altrimenti 
Vatteloaprenderesulperilculo! e premi f1 per la spiegazione!
E non mi chiamo Daniele, ma Daniel!


 ha scritto nel messaggio 
news:1150976576.8...@m73g2000cwd.googlegroups.com...

Grazie Sergio
Ora rifletto e rivedo bene il tutto!
Grazie
Daniel 

 lo potrei accettare!
tu non manchi di rispetto a me, io non sono nessuno, ma manchi di rispetto
allo spirito del ng e a tutti quelli che, con una certa esperienza, lo
frequentano e mettono la loro conoscenza e tempo a disposizione di chi ha
bisogno di aiuto. Ma questo ng deve essere inteso come ultima risorsa,
prima studia, leggi l'help, cerca con google, mettici un po di impegn, poi
se non trovi vieni qui e vedrai che saranno tutti disponibilissi ad
aiutarti e spiegarti per farti capire.
"Un cazzo" a fine post precedente stava ad indicare la speranza che tu
avessi trovato la soluzione da solo, invece sei ancora qui...
Ciao, Antò!!!


 ha scritto nel messaggio 
news:449a75ec$0$3125$4faf...@reader1.news.tin.it...

Ma cacchio l'avevo acnhe provato il readsectionvalue, ma non mi funzionava!
Ora si , e' che avevo scritto delle info sbagliate all'interno dell'ini 
file!
Grazie
Daniel 

 ha scritto nel messaggio 
news:a6h8r70pl44o.o...@40tude.net...

Io lo sapevo che il thread passato con salvati, avrebbe creato dei 
pregiudizi...
Giuro che l'help l'avevo visto e studiato, e avevo deciso di utilizzare il 
readsectionvalue, ma nello stesso momento che l'avevo utilizzato mi si era 
compromesso il file.ini in questo modo CB_0=CB_0 , quindi pensavo che  fosse 
il metodo sbagliato e ho provato altre vie...
Ci sto mettendo moltissimo impegno a capire come poter mettere dei tag alle 
stringhe, altrimenti il mio risultato l'avevo gia' ottenuto con un'altra 
procedura, simile a quella che mi avevi citato con il loadfile!
Tutto quello che sto facendo e' x capire il funzionamento!
E credo che quel 'cazzo', non me lo meritavo!
Cmq io non posso far cambiare idea a nessuno... e il giudizio di me...
Un saluto a tutti
E non volevo mancare di rispetto a nessuno!
Ciao
Daniel


>>> news:44998dd9$0$16926$4faf...@reader4.news.tin.it...
Insomma, ti decidi a quotare o no?
-- 
#@!&

 #@!&
ok ciao
Daniel 

> Grazie
...
Scusate se mi intrometto.
Sono d'accordo con LuZombi ma non sul come si esprime: credevo di essere 
su un ng serio, invece sono al mercato...
poi
quando rispondete, tagliate il riferimento della risposta: il post è 
diventato più lungo di una soap-opera...
poi
mi riallaccio al mio suggerimento sull'uso del TIniFile:
per sapere quanti elementi sono stati registrati nella [sez], è 
sufficiente scrivere come prima variabile, ad esempio, Count=5 (es. 5 è 
il numero delle stringhe nella sezione [sez]; le altre 5 saranno v1=..., 
v2=... etc.
Quando leggo il file:
procedure...
var I: integer;
begin
  Fn = TIniFileCreate('C:\LAVORO\DELPHI\SALVATO.TX')
  I := Fn.ReadInteger('sez','count',0);
  if I > 0 then
  for I := 1 to 5 do
    MyCombo.Add(Fn.ReadString('sez','v'+IntToStr(I),''));
  Fn.Free;
end;
popolo il ComboBox con le Items.
Se in RunTime aggiungo stringhe al Combo, in chiusura:
procedure ...
var I: integer;
begin
  Fn = TIniFileCreate('C:\LAVORO\DELPHI\SALVATO.TX')
  Fn.WriteInteger('sez','count',MyCombo.Items.Count);
  for I := 0 to MyCombo.Items.Count-1 do
    Fn.WriteString('sez','v'+IntToStr(I+1),MyCombo.Items[I]);
...
Dovrebbe andare bene.
Ciao e fammi sapere
