Delphi-PRAXiS
Seite 9 von 17   « Erste     789 1011     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi Programm Hilfe (https://www.delphipraxis.net/163840-programm-hilfe.html)

boxer123 23. Okt 2011 15:09

AW: Programm Hilfe
 
und genau das war ist mein problem
ich weiß nicht was er differenzieren soll bei den strings aber ich glaube die differenz soll ausgegeben werden

DeddyH 23. Okt 2011 15:11

AW: Programm Hilfe
 
Die Differenz wird doch aus den Zahlen gebildet. Daher musst Du Deine String-Arrays erst einmal in Zahlen umwandeln. Nach der Berechnung wandelst Du das Ergebnis wieder aus einer Zahl in einen String um, den Du Edit2.Text zuweisen kannst. Das ist doch nicht sooo schwer.

Bjoerk 23. Okt 2011 15:14

AW: Programm Hilfe
 
Zitat:

Zitat von boxer123 (Beitrag 1132024)
wie soll ich jetzt die differenz bilden.

Delphi-Quellcode:
Form1: TForm1;
  i,j,zahl1,zahl2,differenz,durchlauf,park:integer;
  spielplatz,zahltext,zahltexteins,zahltextzwei:string;
  doppelt:boolean;
  a,b:array[1..4] of integer;

implementation

{$R *.dfm}



procedure TForm1.Button1Click(Sender: TObject);
begin
zahltext:=edit1.text;
for i:=1 to 4 do
begin
a[i]:=copy(zahltext,i,1);
b[i]:=copy(zahltext,i,1);
end;
durchlauf:=1;
repeat
doppelt:=true;
for i:= Low(a) to High(a) - durchlauf do
if a[i] > a[i+1] then begin
park:=a[i];a[i]:=a[i+1];a[i+1]:=park;
doppelt:= false;
end;
durchlauf :=durchlauf +1;
until doppelt;
differenz:= Strtoint(park)-durchlauf;
edit2.text:=durchlauf(differenz);

Wenn a und b integer sind kannst du a[i]:=copy(zahltext,i,1) nicht schreiben.

Möchtest du jetzt mit strings oder integer arbeiten?

DeddyH 23. Okt 2011 15:16

AW: Programm Hilfe
 
Es war bereits alles auf String umgestellt, entgegen aller gut gemeinten Ratschläge. Also belassen wir es jetzt dabei, OK?

boxer123 23. Okt 2011 15:19

AW: Programm Hilfe
 
differenz:=Strtoint(a[i])-Strtoint(a[i+1]); // bin mir nicht sicher

DeddyH 23. Okt 2011 15:21

AW: Programm Hilfe
 
*seufz* Was steht denn in a und was in b? Ach, ich geb es auf, mach damit, was Du willst:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  i, zahl1, zahl2, differenz, durchlauf: integer;
  park, zahltext: string;
  doppelt: boolean;
  a, b: array [1 .. 4] of string;
begin
  zahltext := Edit1.text;
  for i := 1 to 4 do
    begin
      a[i] := copy(zahltext, i, 1);
      b[i] := copy(zahltext, i, 1);
    end;
  durchlauf := 1;
  repeat
    doppelt := true;
    for i := Low(a) to High(a) - durchlauf do
      if a[i] > a[i + 1] then
        begin
          park := a[i];
          a[i] := a[i + 1];
          a[i + 1] := park;
          doppelt := false;
        end;
    durchlauf := durchlauf + 1;
  until doppelt;
  durchlauf := 1;
  repeat
    doppelt := true;
    for i := Low(b) to High(b) - durchlauf do
      if b[i] < b[i + 1] then
        begin
          park := b[i];
          b[i] := b[i + 1];
          b[i + 1] := park;
          doppelt := false;
        end;
    durchlauf := durchlauf + 1;
  until doppelt;
  try
    zahl1 := StrToInt(a[1] + a[2] + a[3] + a[4]);
    zahl2 := StrToInt(b[1] + b[2] + b[3] + b[4]);
    differenz := zahl2 - zahl1;
    Edit2.text := IntToStr(differenz);
  except
    on EConvertError do
      ShowMessage('Ungültige Zahl eingegeben');
  end;
end;
Wobei das so ziemlich die lausigste Möglichkeit ist, das Problem zu lösen, aber Du wolltest es ja so.

boxer123 23. Okt 2011 15:25

AW: Programm Hilfe
 
ich versteh alles auser try und dann except wieso?

DeddyH 23. Okt 2011 15:32

AW: Programm Hilfe
 
Gib doch mal etwas anderes als eine Zahl in Dein Edit ein.

boxer123 23. Okt 2011 15:34

AW: Programm Hilfe
 
ASO, ok vielen dankkkkkkkkkkkkkk.

Furtbichler 24. Okt 2011 06:25

AW: Programm Hilfe
 
So, und grundsätzlich gilt, das man bei Fragen nach so komischen Wörtern, die im Quelltext stehen, und die man nicht versteht, die aber fett sind, so wie ein 'for' oder 'while' oder so, also das man da nicht wahr einfach mit dem Cursor, also dem blinkenden Strich, mal drauf geht und dann F1 drückt.

Und das macht man dann, bevor -und das ist der springende Punkt- also bevor man hier Fragen stellt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:01 Uhr.
Seite 9 von 17   « Erste     789 1011     Letzte »    

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