2010-12-05 41 views
0

ce que im essayant de faire:ajouter une chaîne à la ligne de boîte de mémo, puis la chaîne vide, ajouter une nouvelle entrée sur la ligne suivante - Delphi 2010 - aide!

entrée

dans une zone d'édition, écrivez à une ligne de boîte mémo sur le bouton clic, lorsqu'un 0 ou -1 est entré déplacer à la ligne suivante de zone d'édition

code

:

procedure TForm1.btnReadClick(Sender: TObject); 

var 
c, i, j : integer; 
ch2 : Char; 
txt1, txt2 : string; 

begin 
c := StrToInt(edt2.Text); //input  
ch2 := Converteer(c);  //input gets converted to Char 

if memC.Lines.Count = 0 then //start value when memo box empty 
begin 
    i := 0; 
    j := 0; 
    txt1 :=''; 
    txt2 :=''; 
end; 

if c = 0 then   //text naar memo  
begin 
i := i + 1;     // next line ?!?  these two seem not to work   
txt1 := '';     // empty string ?!?  these two seem not to work   
txt2 := memT.Lines[j] + ch2;  
end 

else if c = -1 then //same, it appears 'i' is maybe reset everytime button is pressed 

begin 
    i := i + 1; 
    j := j + 1; 
    txt1 := ''; 
    txt2 := ''; 
    end 

else if c >= 0 then // a t/m z 

begin 
txt1 := memC.Lines[i] + IntToStr(c);   
txt2 := memT.Lines[j] + ch2; 
end; 


memC.Lines[i] := txt1;   //write string to line , [i] should specify the wich line  
memT.Lines[j] := txt2;   // same 

end. 

Je ne peux pas trouver où/comment ça se passe mal, ce serait génial si quelqu'un pouvait me donner un coup de main.

greetz Peter

Répondre

1

Les variables i, j, txt1, txt2 sont uninitialised si la boîte mémo memC n'est pas vide. Vous les définissez à 0/vide si c'est le cas - que voulez-vous qu'ils soient dans d'autres cas? Notez que leurs valeurs ne seront pas conservées sur plusieurs clics de bouton, car vous les avez déclarés comme locaux pour cette fonction ...

+0

ok merci, au début memC est toujours vide dans mon cas, mais je pense que les rendant pas local (global?) pourrait résoudre mon problème. mal google comment cela fonctionne, être de retour :) – peter

+0

bien, à peu près cela l'a fait. une partie ne fonctionne pas bien. – peter

+0

J'ai 2 boites de mémo, une entrée est directement saisie (boite 'i' variabel) et l'autre est entrée après convertion. en quelque sorte, seul le mémo 'i' ne fonctionne pas correctement maintenant. après avoir passé à la ligne suivante, il n'apparaît plus dans le mémo 'i'. Bien que l'autre fonctionne parfaitement bien. des idées? – peter