Newsgroup: it.comp.lang.delphi
Titolo: HEEELP!!! il mio Delphi è impazzito!!!

come da soggetto...sono disperato
il codi è come questo
for x:=1 to 14 do
 begin
  if a=b
    then
     begin
       case d of
         0:
           begin
            ...
           end;
         1:
           begin
            ...
           end;
         0:
           begin
            ...
           end;
     end;
 end;
il problema è questo ...anzitutto il conteggio inzia da 14 e arriva a 1 e
poi esce dal ciclo       ???????
senza contare che se a='' e b='01' per lui l'uguaglianza è vera
??????
guardano i valori e chiedendogli se a=b lui mi dice TRUE!!!!      ??????
le possibili soluzioni sono
a) è stato un sogno
b) i sogni aiutano a vivere meglio
c) sono impazzito io
d) varie ed eventuali
AIUTOOOOOO!!!!!! vi prego....perfavore...vi supplico...vi bacio i
piedi....limitiamoci al vi supplico :-)))
LMA

 end;
[SNIP]
Sicuramente quello che dici appare strano, ma se vuoi un aiuto ti consiglio
di presentare
un pezzo di codice più dettagliato, indicando il tipo di variabili
utilizzate.
Ciao!!
--
- Carlo -
BSSoftware Tips Mailing-List Support




allora...le variabili a e b sono string e sono precise identiche...anche a
livello di DNA :-)
la variabile x è usata per puntare ad un array
al posto dei ... ci sono delle semplici assegnazioni che non vanno a taccare
nè a, nè b, tantomeno x
ulteriori dati...non sono un pivello di primo pelo...il codice è
concettualmente giusto...delphi fa quel che vuole :-)
non ho cancellato niente (dll o altro)
ho messo ... perchè non coinvolgono nessuna delle variabili, viene usata
solo X e non viene modificata
ri grazie dell'aiuto


 LMA

Spunti per tentare di risolvere il mistero.
1 -- Delphi si permette di eseguire le for a rovescio solo se non fai
riferimento alla variabile di ciclo,  ne' nella for, ne' dopo. Ma tu dici
che la for va da 14 a 1 e che utilizzi x. Le due cose non possono essere
entrambe vere. Le istruzioni che fanno riferimento a x all'interno della for
vengono compilate? Appaiono i pallini blu a sinistra delle righe relative
dopo la compilazione?
2 -- Nella codifica che riporti manca una end. La end che tu incolonni con
la begin che segue la for in realta' chiude la begin che segue la then. Dopo
la codifica che riporti c'e' subito un'altra end o ci sono altre istruzioni?
In quest'ultimo caso, che cosa fanno?
3 -- La label 0 nell'istruzione case e' duplicata. Il compilatore non se ne
lamenta?
4 -- Visto che c'e' di mezzo un array, il range checking e' attivo?
Per ora non mi viene in mente altro. Fammi sapere se risolvi perche' sono
curioso.
Ciao.

 delphi fa quel che vuole :-)
Dubito fortemente... :-)
Ps: spedisci una porzione significativa di codice (nessuno vuole rubarti i
sorgenti, vogliamo solo aiutarti...)
Ciao
--
(¯`·.¸¸.·´¯`·.¸¸.-> Andrea <-.¸¸.·´¯`·.¸¸.·´¯)
AntiSpam: rimuovere il trattino basso dall'indirizzo per rispondere
AntiSpam: remove the underscore from the e-mail address to reply

 sorgenti, vogliamo solo aiutarti...)
ok anche se son vi sara' d'aiuto....dato che il problema piu' grave è che mi
dice che una stringa '' è uguale a '01' :-)


 Ciao.
ciao e grazie

 dice che una stringa '' è uguale a '01' :-)
Direi proprio che, visto e considerato che io sono uno delle miriadi di
programmatori che hanno scritto miriadi di programmi in cui si fa uso di
controlli (tipo if stringa='01' ) sulle stringhe, il problema sta nel tuo
codice/Delphi...
Se fosse stato un bug di Delphi penso (spero) che me ne sarei accorto un po'
prima, non credi?
ciao :-)


 ciao :-)
ciao


 comunque avevo gia' deciso di riscrivere il pezzo di codice...sigh...
Il perchè è più che evidente: se ogni volta che Delphi fa un confronto
''='01' ritornasse true metà dei programmi Delphi di questo mondo non
funzionerebbero...
Cmq, non ho capito perchè non hai spedito il codice... mica c'è da
vergognarsi quando si commettono errori di programmazione...
Ciao :-)
