Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Memos und Buttons (https://www.delphipraxis.net/174110-memos-und-buttons.html)

deppen 4. Apr 2013 13:08

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?

Der schöne Günther 4. Apr 2013 13:12

AW: Memos und Buttons
 
Wenn Ihr eine Zeile mit
Delphi-Quellcode:
.Lines.Add('Text')
hinzugefügt habt, womit entfernt man dann wohl eine?


(Gibt es hier keine Spoiler-Tags?)

Schaut euch mal
Delphi-Quellcode:
.Lines.Delete(index:Integer)
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.

deppen 4. Apr 2013 13:17

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

DeddyH 4. Apr 2013 13:19

AW: Memos und Buttons
 
Die erste Zeile hat den Index 0, die letzte den Index Count - 1.

deppen 4. Apr 2013 13:28

AW: Memos und Buttons
 
danke schön das hätten wir jetzt müssen wir aus den zahlen nur noch den durchschnitt bilden

Der schöne Günther 4. Apr 2013 13:32

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:
tZahlen
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.

deppen 4. Apr 2013 13:41

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

Luckie 4. Apr 2013 13:48

AW: Memos und Buttons
 
Zitat:

Zitat von deppen (Beitrag 1209976)
ok wir habens :D
wir melden uns in 15 minuten beim nächsten problem ok? :P

Aber bitte in einem neuen Thread.

Der schöne Günther 4. Apr 2013 14:01

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?

Jumpy 4. Apr 2013 15:26

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 11:12 Uhr.
Seite 2 von 3     12 3      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz