Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi Schleife mit Anhängfunktion (https://www.delphipraxis.net/157798-schleife-mit-anhaengfunktion.html)

SyntaxXx 25. Jan 2011 16:00

Schleife mit Anhängfunktion
 
Guten Tag,

und zwar möchte ich folgendes machen.
Ich möchte ein Tool Coden welches mir z.b. folgende Ausgabe macht in einem Memo:

0
1
2
3
...
8
9
00
01
02
...
08
09
000
001
002

etc.

Die Länge bei der aufgehört werden soll möchte ich selber eingeben können.

Wenn ich z.B. 6 eingebe soll das Tool natürlich bei 999999 enden.

Problem: Mein Kopf ist schon fast am brennen.
Ich komme eichfach nicht drauf wie es zu bewerkstelligen ist.
Es wäre echt klasse wenn ihr mir einen Denkanstoß geben könntet ^^

p80286 25. Jan 2011 16:05

AW: Schleife mit Anhängfunktion
 
Ich denke Du solltest noch einmal genau formulieren, was Du eigentlich willst.
So wie ich es verstanden haben willst Du mal dieses
0..9 oder 00..09 oder 000..009
oder dieses
0..9 oder 00..99 oder 000..999

Was darf es denn sein?


Gruß
K-H

SyntaxXx 25. Jan 2011 16:11

AW: Schleife mit Anhängfunktion
 
Nein alles hintereinander.

Die ... stehen nur für den rest dazwichen um es ein wenig übersichtlicher zu machen.
Ich kanns aber nochmal ganz auschreiben.

Wenn ich jetzt bei meinem Tool 2 eingebe dann soll in meinem Memo nachher folgendes stehen:

0
1
2
3
4
5
6
7
8
9
00
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
...

Bis am Ende dann logischerweise 99 da steht.

aurikel_Max 25. Jan 2011 16:13

AW: Schleife mit Anhängfunktion
 
Delphi-Quellcode:
procedure TForm1.btn1Click(Sender: TObject);
var
  i, j: Integer;
  s: String;
begin
  s := '';
  for i := 0 to 3 do
  begin
    for j := 0 to 9 do
    begin
      mmo1.Lines.Add(s + IntToStr(j));
    end;
    s := s + '0';
  end;
end;

SyntaxXx 25. Jan 2011 16:17

AW: Schleife mit Anhängfunktion
 
Hab das jetzt mal mit deinem Code probiert, dann bekomme ich aber das raus:

Zitat:

001
002
003
004
005
006
007
008
009
0000
0001
0002
0003
0004
0005
0006
0007
0008
0009
00000
00001
00002
00003
00004
00005
00006
00007
00008
00009
Das ist leider nicht ganz richtig.

Neutral General 25. Jan 2011 16:22

AW: Schleife mit Anhängfunktion
 
Hallo,

Delphi-Quellcode:
uses
  Math;

procedure TForm1.Button1Click(Sender: TObject);
var i, j, Eingabe: Integer;
begin
  Eingabe := StrToInt(Edit1.Text);
  for i := 1 to Eingabe do
    for j := 0 to Round(Power(10,i)) - 1 do
      Memo1.Lines.Add(Format('%.' + IntToStr(i) + 'd',[j]));
end;
So würde es z.B. gehen.

PS: Ggf. sollte man die Schleife noch mit einem Memo1.Lines.BeginUpdate und Memo1.Lines.EndUpdate umgeben. Sonst wirds ziemlich lange dauern bei Eingaben ab 5 oder 6.

PPS: Selbst mit BeginUpdate und EndUpdate sind Eingaben ab inklusive 6 nicht mehr zu empfehlen. Das dauert sonst wirklich ewig.

aurikel_Max 25. Jan 2011 16:23

AW: Schleife mit Anhängfunktion
 
'tschuldige, da ist was verrutscht:

Delphi-Quellcode:
procedure TForm1.btn1Click(Sender: TObject);
var
  i, j: Integer;
  s: string;
begin
  s := '';
  for i := 0 to 3 do
  begin
    for j := 0 to 9 do
    begin
      mmo1.Lines.Add(s + IntToStr(j));
    end;
    s := s + '0';
  end;
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:46 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