Delphi-PRAXiS
Seite 3 von 5     123 45      

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.

Teekeks 24. Okt 2011 09:03

AW: Programm Hilfe
 
ich glaube er hat zwischendurch mal im Delphiforum erwähnt dass er keine IDE hat.

Aber Google ist da ein Top Ersatz für!

Luckie 24. Okt 2011 09:08

AW: Programm Hilfe
 
Zitat:

Zitat von Teekeks (Beitrag 1132138)
ich glaube er hat zwischendurch mal im Delphiforum erwähnt dass er keine IDE hat.

Wozu braucht man eine IDE? Bei so vielen hilfreichen, menschlichen Compilern und Debuggern.

himitsu 24. Okt 2011 09:33

AW: Programm Hilfe
 
Es wurde auch schon mehrmals erwähnt, wo er eine IDE herbekommt.

Angefangen von der Delphi-Trial, selbst TDE könnte er sich vermutlich noch besorgen, über Free Pascal oder Lzarus, bis hin zu einem einfachen Editor mit passendem Syntaxhighlighting. (Delphi Starter wäre wohl rausgeworfenes Geld)
Auch eine halbwegs ordentliche Codeformatierung hätte viele Probleme/Fehler sofort aufgedeckt.

Und die globalen Variablen sind ebenfalls immernoch global.

DeddyH 24. Okt 2011 09:36

AW: Programm Hilfe
 
Zitat:

Zitat von himitsu (Beitrag 1132145)
Und die globalen Variablen sind ebenfalls immernoch global.

Nicht, wenn er meine Lösung kopiert hat :mrgreen:

himitsu 24. Okt 2011 09:44

AW: Programm Hilfe
 
Es gab schon mehrmals passende Lösungen und dieser Teil floß nie in seine Codes ein.
Aber OK, er hat natürlich gerade auf dich gehört. :-D

DeddyH 24. Okt 2011 09:48

AW: Programm Hilfe
 
Natürlich, das war ja auch die einzige Komplettlösung, und dann noch eine verdammt miese, das muss man doch kopieren :zwinker:

guinnes 24. Okt 2011 09:58

AW: Programm Hilfe
 
Zitat:

Zitat von Teekeks (Beitrag 1132138)
ich glaube er hat zwischendurch mal im Delphiforum erwähnt dass er keine IDE hat.

Scheinbar hat er mittlerweile doch eine, sonst würde :
Zitat:

Zitat von boxer123 (Beitrag 1132047)
ASO, ok vielen dankkkkkkkkkkkkkk.

keinen Sinn machen :wink:

himitsu 24. Okt 2011 10:00

AW: Programm Hilfe
 
Wobei der Satz sich auch nur auf die Erklärung des Try bezogen haben könnte. :gruebel:

guinnes 24. Okt 2011 10:20

AW: Programm Hilfe
 
Zitat:

Zitat von himitsu (Beitrag 1132161)
Wobei der Satz sich auch nur auf die Erklärung des Try bezogen haben könnte. :gruebel:

Da der TE nicht den Eindruck macht, er hätte was verstanden, kann das nur bedeuten, daß er es ausprobiert hat. Und das ist ja nur möglich, wenn er den Text kompiliert hat

Teekeks 24. Okt 2011 10:21

AW: Programm Hilfe
 
Ich denke vielmehr dass er das in eine Datei packt und seinem Lehrer so vorsetzt :)

Ausprobieren ist Out, macht viel zu viel Arbeit.

Was auch lustig ist:
Seit der Komplettlösung hier macht er nicht mehr bei dem Versuch von Narses mit ihm etwas Verständnis zu der Thematik und dem eigentlichen Problem einzumeißeln...

Schade eigentlich, war immer ein lustiges Thema für zwischendurch!

boxer123 27. Okt 2011 15:18

AW: Programm Hilfe
 
wie mache ich das,dass programm nicht jetzt 6174 ausgibt sondern wielange er gebraucht hat also die schritte

DeddyH 27. Okt 2011 15:22

AW: Programm Hilfe
 
Mitzählen wäre eine Option, oder?

boxer123 27. Okt 2011 15:23

AW: Programm Hilfe
 
ja aber mit welchem befehl

Medium 27. Okt 2011 15:23

AW: Programm Hilfe
 
+ oder inc() :roll:

boxer123 27. Okt 2011 15:25

AW: Programm Hilfe
 
hää wie kann man mit + mitzählen :?:

DeddyH 27. Okt 2011 15:27

AW: Programm Hilfe
 
Delphi-Quellcode:
Zahl := Zahl + 1;
*Hach*, das war wirklich schwer, ich muss mich gleich hinlegen vor Erschöpfung. Im Ernst: zieh Dir mal dringend ein Grundlagentutorial rein, sonst wird das nie was.

boxer123 27. Okt 2011 15:28

AW: Programm Hilfe
 
hää da macht er doch immer +1 , das heißt doch nicht das er zählt?

Jumpy 27. Okt 2011 15:29

AW: Programm Hilfe
 
Mit einer Zählvariablen:

Delphi-Quellcode:
var
  i:integer;
  DFTT:Integer;
begin
  for i:=1 To ThisThread.Posts.Count do
    Inc(DFTT);
end
Edit: Mist, DeddyH war schneller.

boxer123 27. Okt 2011 16:11

AW: Programm Hilfe
 
hää ich versteh das nicht. Wie soll er mit
Delphi-Quellcode:
zahl1:=zahl+1;
er erhöht doch immer um 1?

DeddyH 27. Okt 2011 16:26

AW: Programm Hilfe
 
Also, wenn ich zähle, erhöhe ich im Allgemeinen auch immer um 1, AFAIK ist das die Definition von Zählen.

boxer123 27. Okt 2011 16:29

AW: Programm Hilfe
 
kann mir keiner helfen?

DeddyH 27. Okt 2011 16:31

AW: Programm Hilfe
 
Was glaubst Du, was wir hier die ganze Zeit versuchen?

boxer123 27. Okt 2011 16:39

AW: Programm Hilfe
 
dann hilft mir doch please :-D

boxer123 27. Okt 2011 16:42

AW: Programm Hilfe
 
Delete

DeddyH 27. Okt 2011 16:44

AW: Programm Hilfe
 
Und wie? Was ist denn an dem Code unklar?
Delphi-Quellcode:
var
  Zaehler: integer;
begin
  Zaehler := 0;
  while <Bedingung> do
    begin
      ArbeiteHeftig;
      Zaehler := Zaehler + 1;
    end;
  ShowMessage(IntToStr(Zaehler) + ' Schleifendurchäufe');
end;
Und zum allerletzten Mal: ich schaue mir Deine Codes nicht mehr an, bis Du anfängst, einigermaßen verständlich einzurücken :evil:

boxer123 27. Okt 2011 16:46

AW: Programm Hilfe
 
ich kenne die while schleife nicht geht das nicht mit repeat

DeddyH 27. Okt 2011 16:48

AW: Programm Hilfe
 
http://www.delphi-treff.de/tutorials/grundlagen/

boxer123 27. Okt 2011 16:49

AW: Programm Hilfe
 
ich habe nur die repeat schleife gelernt

Medium 27. Okt 2011 16:50

AW: Programm Hilfe
 
Bleib vielleicht einfach beim boxen...

boxer123 27. Okt 2011 16:51

AW: Programm Hilfe
 
mach ich neben bei kann mir jetzt keiner sagen wie das mit der repeat schleife funktioniert


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:56 Uhr.
Seite 3 von 5     123 45      

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