![]() |
AW: Memos und Buttons
wir haben das program einfach neu gestartet und dann ging das :D
naja und das hier machen wir eigentlich nur weil uns das sudoku zu kopliziert war. und nun zur nächsten fragen wir wollen wissen wie man die letzte zahl die man eingegeben hat wieder weg machen kann aber nur die letzte? |
AW: Memos und Buttons
Wenn Ihr eine Zeile mit
Delphi-Quellcode:
hinzugefügt habt, womit entfernt man dann wohl eine?
.Lines.Add('Text')
(Gibt es hier keine Spoiler-Tags?) Schaut euch mal
Delphi-Quellcode:
an. Der Index ist die Nummer der Zeile, die ihr wieder entfernen wollt. Probiert mal mit einem zweiten Button aus, beispielsweise fest die dritte Zeile zu entfernen.
.Lines.Delete(index:Integer)
|
AW: Memos und Buttons
oh danke das ist eine geniale hilfe aber wie bekommen wir die letzte zeile raus und nicht eine bestimmte??
danke nochmal |
AW: Memos und Buttons
Die erste Zeile hat den Index 0, die letzte den Index Count - 1.
|
AW: Memos und Buttons
danke schön das hätten wir jetzt müssen wir aus den zahlen nur noch den durchschnitt bilden
|
AW: Memos und Buttons
Und genau deshalb war es vielleicht nicht das geschickteste, die Zahlen erst in ein Textfeld zu schreiben, denn jetzt sind es keine Zahlen mehr, sondern Text. Das könnt ihr zwar genauso wieder umwandeln, aber das ist alles unnötige Arbeit.
Ich denke mal, dazu war euer Zahlen-Array
Delphi-Quellcode:
ursprünglich gedacht? Macht erst die Zahlen da hinein, rechnet damit was das Zeug hält und schreibt dann ganz am Schluss die einzelnen Zahlen und die errechneten Werte wie z.B. Durchschnitt, Standardabweichung in das Memo.
tZahlen
|
AW: Memos und Buttons
hmmmm okay verstehe.
dann betrachten iwr dieses Memofenster nur also fenster, wo man schauen kann was man gerade angeklickt hat. nur wir verstehen nicht ganz wie wir das anstellen sollen :D |
AW: Memos und Buttons
Zitat:
|
AW: Memos und Buttons
Ich versteh ehrlich gesagt auch nicht, wo jetzt auf einmal geklickt wird.
Was soll das Programm tun - Der Benutzer gibt fest 15 Kommazahlen ein und das Programm druckt dann nochmal alle 15 Zahlen und den Durchschnitt in eine Memo, richtig? Wenn ja, wie gibt der Benutzer das ein? Habt ihr fest mehrere Buttons erstellt die für jede Note stehen sollen? |
AW: Memos und Buttons
Ist doch ein schönes Beispiel mal was über Array's zu lernen. Hier mal ein Ansatz, aber ohne Gewähr, da nur hier in den Editor grtippt:
Delphi-Quellcode:
interface
Type TNotenliste = array of integer; TForm1=class(TForm) //alles was man so auf der Form hat private //... Notenliste:TNotenliste; function NotenAnzahl:integer; function NotenSumme:integer; function NotenDurschnitt:Float; public //... procedure NoteHinzu(Note:integer); procedure NoteWeg; procedure MemoSchreiben; end; implementation procedure TForm1.NoteHinzu(Note:integer); begin //Hier ggf. erst prüfen, ob Note zw. 1 und 6 //Hier ggf. erst prüfen, ob maximale Notenzahl (z.B. 15) schon voll ist SetLength(Notenliste,High(Notenliste)+2) //Array um einen Platz vergrößern //High(Array)+2=Length(array)+1 Notenliste[High(Notenliste)]:=Note; end; procedure TForm1.NoteWeg; begin //Einfach Array mit SetLength um 1 verkleinern und so das letzte Element löschen end; procedure TForm1.MemoSchreiben; var i:integer; begin Memo1.Clear; for i:=Low(Notenliste) To High(Notenliste) do Memo1.Lines.Add(IntToStr(Notenliste[i])); Memo1.Lines.Add('Durschnitt: '+FloatToStr(Notendurschnitt)); end; function TForm1.NotenAnzahl:integer; begin //Funktion Length benutzen end; function TForm1.NotenSumme:integer; begin //Über das Array iterieren wie bei MemoSchreiben end; function TForm1.NotenDurschnitt:Float; begin if NotenAnzahl>0 then Result:=NotenSumme/NotenAnzahl //ggf. noch runden else Result:=0; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:50 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz