![]() |
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 |
Re: Auf eine bestimmte Stelle in einem String was einfügen..
Ähmmm...
Delphi-Quellcode:
Ausgabezahl := Ausgabezahl + IntToStr (zwerg);
|
Re: Auf eine bestimmte Stelle in einem String was einfügen..
Hi,
zwei möglichekeiten wenn ich dich richtig verstanden habe ;):
Delphi-Quellcode:
oder schau dir mal die Procedure Insert an.
REPEAT
Zwerg := Zahl MOD Basis; Ausgabezahl := Ausgabezahl + IntToStr(Zwerg); Zahl := Zahl DIV Basis; UNTIL Zahl = 0; |
Re: Auf eine bestimmte Stelle in einem String was einfügen..
Zunächst vor der Schleife
Delphi-Quellcode:
In der Schleife dann
Ausgabezahl := '';
Delphi-Quellcode:
EDIT: Zu langasam. Aber IntToStr() muss vorne stehen, sonst wirds verkehrt herum dargestellt.
Ausgabezahl := IntToStr(Zwerg) + Ausgabezahl;
|
Re: Auf eine bestimmte Stelle in einem String was einfügen..
Das soll ja nicht hinzuaddiert werden...
|
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 ;)
|
Re: Auf eine bestimmte Stelle in einem String was einfügen..
Ach so :mrgreen:
Ich denke einfach zu kompliziert :zwinker: Danke, Lamy |
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; |
Re: Auf eine bestimmte Stelle in einem String was einfügen..
Du anscheinend auch :mrgreen:
Ist das überhaupt von Vorteil, diese rekursive Funktion? |
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