Announcement

Collapse
No announcement yet.

bestimmte Zahlenfolge hochzählen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • bestimmte Zahlenfolge hochzählen

    Hi all!

    Ich bräuchte mal eine kleine Hilfe

    Ich habe ein Editfeld..in diesem habe ich eine Zahlenfolge: "0000" vorgegeben.

    Nun möchte ich bei jedem Betätigen eines Buttons, dass eine Zahl hinzuaddiert wird: "0001"

    Es ist wichtig, dass es in einem Editfeld abspielt und die Zahlenfolge "000*" erhalten bleibt.

    Aso wenn ich bei 10 angelangt bin sieht es ja so aus "0010"

    Wie kann ich das oder wie wird das realisiert?

    Vielen Dank für die Hilfe!

    Als Hinweis: Die Zahl wird gespeichert und natürlich beim nächsten Programmaufruf wieder geladen.
    Es geht rein um den Zählmechanismus

  • #2
    Hallo, auf die schnelle vielleicht so:

    <br>procedure TForm1.FormActivate(Sender: TObject);
    <br>begin
    <br>zahl := 0;
    <br>end;
    <br>procedure TForm1.Button1Click(Sender: TObject);
    <br>begin
    <br>zahl := Zahl + 1;
    <br>edit4.Text := '000' +IntToStr(Zahl);
    <br>Label3.caption := '000' +IntToStr(Zahl);
    <br>if zahl > 9 then
    <br>begin
    <br>edit4.Text := '00' +IntToStr(Zahl);
    <br>Label3.caption := '00' +IntToStr(Zahl);
    <br>end;
    <br>if zahl > 99 then
    <br>begin
    <br>edit4.Text := '0' +IntToStr(Zahl);
    <br>Label3.caption := '0' +IntToStr(Zahl);
    <br>end;
    <br>if zahl > 999 then
    <br>begin
    <br>Label3.caption := IntToStr(Zahl);
    <br>edit4.Text := IntToStr(Zahl);
    <br>end;
    <br>end;

    Die Variable zahl noch in private deklarienen
    <br> zahl :integer

    Comment


    • #3
      einfacher geht es mit dem Format-Befehl (Das Programm wird zum Einzeiler). Leider habe ich im Moment grad nicht Delphi parat, aber einfach in der Online-Hilfe nach der Format-Funktion suchen..

      Comment


      • #4
        Moin Zusammen,<br>
        <br>
        Bernhard meinte wahrscheinlich:<br>
        <br>
        Edit1.Text := FormatFloat('0000',lZahl);<br>
        <br>
        Ciao<br>
        Chri

        Comment


        • #5
          kürzer als Peters Idee ist die:

          function int2str(zahl,breite:Integer):String;
          var l,i:Integer;
          s:String;
          begin
          str(zahl:breite,s);
          for i:=1 to Length(s) do if s[i]=' ' then s[i]:='0';
          result:=s
          end;

          procedure TForm1.Button1Click(sender:TObject);
          begin
          inc(zahl);
          Label1.Caption:=int2str(zahl,4)
          end;

          Da bist Du dann auch variabler, wenn die Zeichenkette mal länger oder kürzer als 4 sein soll.

          Schöne Grüße
          Marku

          Comment


          • #6
            <pre>

            <code><font size=2 face="Courier New"><font color="#000000"> </font>Edit1.Text := Format(<font color="#0000FF">'%0.5d'</font>, [ StrToInt(Eidt1.Text) +<font color="#0000FF">1 </font>]);
            </font>
            </code></pre&gt

            Comment

            Working...
            X