Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Auf eine bestimmte Stelle in einem String was einfügen... (https://www.delphipraxis.net/25495-auf-eine-bestimmte-stelle-einem-string-einfuegen.html)

Lamy 7. Jul 2004 15:37


Auf eine bestimmte Stelle in einem String was einfügen...
 
Hi!
Für Info muss ich eine Prozedur schreiben, die eine dezimalzahl in eine Binäre umwandelt nach dem Schema:
[Beispiel:]
23: 2 = 11 Rest 1
11 : 2 = 5 Rest 1
5 : 2 = 2 Rest 1
2 : 2 = 1 Rest 0
1 : 2 = 0 Rest 1
Also: 10111.


Delphi-Quellcode:
PROCEDURE TForm1.Berechnen(Zahl, Basis: Integer; VAR Ausgabezahl: Str15);
VAR Laenge, Zwerg: Integer;
BEGIN
  Ausgabezahl := '';
  Laenge := Length(Ausgabezahl);
  REPEAT
    Zwerg := Zahl MOD Basis;
    Ausgabezahl := { Hier ist jetzt das Problem; wie bekomm ich hin, dass der nun Zwerg auf jede neue Stelle schreibt?} ;
    Zahl := Zahl DIV Basis;
  UNTIL Zahl = 0;
END;

Danke schonmal,
Lamy

Sharky 7. Jul 2004 15:46

Re: Auf eine bestimmte Stelle in einem String was einfügen..
 
Ähmmm...

Delphi-Quellcode:
Ausgabezahl := Ausgabezahl + IntToStr (zwerg);

Die Muhkuh 7. Jul 2004 15:46

Re: Auf eine bestimmte Stelle in einem String was einfügen..
 
Hi,


zwei möglichekeiten wenn ich dich richtig verstanden habe ;):

Delphi-Quellcode:
REPEAT
    Zwerg := Zahl MOD Basis;
    Ausgabezahl := Ausgabezahl + IntToStr(Zwerg);
    Zahl := Zahl DIV Basis;
  UNTIL Zahl = 0;
oder schau dir mal die Procedure Insert an.

scp 7. Jul 2004 15:46

Re: Auf eine bestimmte Stelle in einem String was einfügen..
 
Zunächst vor der Schleife
Delphi-Quellcode:
Ausgabezahl := '';
In der Schleife dann
Delphi-Quellcode:
Ausgabezahl := IntToStr(Zwerg) + Ausgabezahl;
EDIT: Zu langasam. Aber IntToStr() muss vorne stehen, sonst wirds verkehrt herum dargestellt.

Lamy 7. Jul 2004 16:08

Re: Auf eine bestimmte Stelle in einem String was einfügen..
 
Das soll ja nicht hinzuaddiert werden...

Die Muhkuh 7. Jul 2004 16:09

Re: Auf eine bestimmte Stelle in einem String was einfügen..
 
Das tuts auch nicht ;). Das wird nun hintendran gesetzt, oder vornedran, oder da wos halt hingehört ;)

Lamy 7. Jul 2004 16:19

Re: Auf eine bestimmte Stelle in einem String was einfügen..
 
Ach so :mrgreen:


Ich denke einfach zu kompliziert :zwinker:


Danke,
Lamy

ibp 7. Jul 2004 16:38

Re: Auf eine bestimmte Stelle in einem String was einfügen..
 
... es geht auch rekursiv...

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);

  function binaer(Zahl:integer):string;
  begin
    if zahl>1 then
      result:=binaer(zahl div 2);

    result:=result+inttostr(zahl mod 2)
  end;

begin
  edit1.Text:=binaer(strtoint(edit2.Text));
end;

Lamy 7. Jul 2004 16:42

Re: Auf eine bestimmte Stelle in einem String was einfügen..
 
Du anscheinend auch :mrgreen:

Ist das überhaupt von Vorteil, diese rekursive Funktion?

ibp 7. Jul 2004 16:46

Re: Auf eine bestimmte Stelle in einem String was einfügen..
 
... das kommt darauf an, es hat nichts mit kompliziert zu tun, aber manchmal ist es einfacher, schneller und übersichtlicher...


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