Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > General Coding
You last visited: Today at 18:56

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Maximum bestimmen!

Discussion on Maximum bestimmen! within the General Coding forum part of the Coders Den category.

Reply
 
Old   #1
 
Jadensan's Avatar
 
elite*gold: 0
Join Date: Aug 2011
Posts: 142
Received Thanks: 14
Smile Maximum bestimmen!

Hey Leute,

ich bin noch ganz am Anfang(Delphi 7)!
Aber besser früher als nie

Ich habe ein Problem und hoffe ihr könnt mir bei der einfachen Aufgabe behilflich sein!
Es geht um Delphi 7 und ich habe jetzt aus eigener Interesse so ein Programm erstellt der das Maximum aus 3 Zahlen berechnet jedoch spuckt er mir nicht das Maximum aus sondern gar nicht :/

Code:
unit Aufgabe1II2;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls;

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Button1: TButton;
    Panel1: TPanel;
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

end.
var a,b,c,max:single;
procedure TForm1.ButtonClick(Sender:Object);

begin
 with Form1 do
 begin
 val(Edit1.Text,a,code);
 val(Edit2.Text,b,code);
 val(Edit3.Text,c,code);
 end;

procedure max;
begin
if a> b then max:= a;
if c> max then max:= c;
Label1.Caption := max;
end;
end.
wie gesagt hoffe ihr hated mich nicht auch wenn es aus eurer Sicht zu einfach ist !

Ich danke im vorraus !
Jadensan is offline  
Old 03/26/2014, 19:28   #2
 
alpines's Avatar
 
elite*gold: 60
Join Date: Aug 2009
Posts: 2,256
Received Thanks: 815
Bist du sicher das du Singles zu einem ANSI-String (oder PChar? Bin nicht so fit in Delphi) einfach so assignen kannst?

Die Zeile
Code:
Label1.Caption := max;
müsste glaube ich
Code:
Label1.Caption := FloatToStr(max);
lauten.
alpines is offline  
Thanks
1 User
Old 03/26/2014, 19:30   #3
 
Jadensan's Avatar
 
elite*gold: 0
Join Date: Aug 2011
Posts: 142
Received Thanks: 14
No, geht noch immer nicht :/
trzd danke!
Jadensan is offline  
Old 03/26/2014, 19:43   #4

 
snow's Avatar
 
elite*gold: 724
Join Date: Mar 2011
Posts: 10,479
Received Thanks: 3,318
Wenn ich das richtig sehe, rufst du nirgends die Prozedur auf.
Du überprüfst übrigens nicht, ob b die größte Zahl ist.
snow is offline  
Thanks
1 User
Old 03/26/2014, 19:56   #5
 
Jadensan's Avatar
 
elite*gold: 0
Join Date: Aug 2011
Posts: 142
Received Thanks: 14
Ok danke D das mit b hab ich auch grad gemerkt^^...
Wie rufe ich denn eine Prozedur auf ?
Jadensan is offline  
Old 03/26/2014, 19:58   #6
 
alpines's Avatar
 
elite*gold: 60
Join Date: Aug 2009
Posts: 2,256
Received Thanks: 815
Statt einer Prozedur würde ich eine Funktion bevorzugen, da kannst du was returnen lassen und direkt weiterverarbeiten. Wenn du von deiner Eingabe (a,b,c) etwas zurückerwartest (a, b oder c) dann nimm lieber Funktionen. Das Caption-setten sollte nicht in der Prozedur erfolgen.
alpines is offline  
Thanks
1 User
Old 03/26/2014, 20:17   #7
 
Jadensan's Avatar
 
elite*gold: 0
Join Date: Aug 2011
Posts: 142
Received Thanks: 14
Habs nochmal etwas geändert...

Code:
procedure max;
var a,b,c,max:integer;
begin
 with Form1 do

 begin
   if a > b then max := a;
   if b> max then max:= b;
   if c> max then max:= c;
   val(Edit1.Text,a,code);
   val(Edit2.Text,b,code);
   val(Edit3.Text,c,code);
end;
Label1.Caption := FloatToStr(max);
end;
end.
...mit function zeigt der haufenweise Fehler an :0

Bei mir zeigt der bei max := a nen Fehler an :/
Jadensan is offline  
Old 03/26/2014, 20:19   #8
 
alpines's Avatar
 
elite*gold: 60
Join Date: Aug 2009
Posts: 2,256
Received Thanks: 815
Vielleicht wegen deiner If-Abfrage?
Delphi bitcht häufig wegen kleinstem Scheiß rum wobei andere Sprachen richtig tolerant sind.
Versuch mal
Code:
If (a>b) then max := a;
statt dem ursprünglichen.
alpines is offline  
Thanks
1 User
Old 03/26/2014, 20:27   #9
 
Jadensan's Avatar
 
elite*gold: 0
Join Date: Aug 2011
Posts: 142
Received Thanks: 14
Quote:
Originally Posted by alpines View Post
Vielleicht wegen deiner If-Abfrage?
Delphi bitcht häufig wegen kleinstem Scheiß rum wobei andere Sprachen richtig tolerant sind.
Versuch mal
Code:
If (a>b) then max := a;
statt dem ursprünglichen.
haha
jetzt zeigt der mir bei

Code:
val(Edit1.Text,a,code);
den Fehler an um genau zu sein für code...

Wenn ich das jetzt raus schneide zeigt der mir bei

Code:
Label1.Caption := FloatToStr(max)
den Fehler an
Jadensan is offline  
Old 03/26/2014, 21:33   #10
 
alpines's Avatar
 
elite*gold: 60
Join Date: Aug 2009
Posts: 2,256
Received Thanks: 815
Sicherlich zeigt der dafür einen Fehler an wenn keine Variable code definiert ist, was soll val() überhaupt machen?

Und der Grund warum der beim letzten einen Fehler anzeigt ist, weil du ein Semikolon ; vergessen hast.
alpines is offline  
Thanks
1 User
Old 03/27/2014, 05:44   #11
 
Saedelaere*'s Avatar
 
elite*gold: 1
Join Date: Mar 2011
Posts: 828
Received Thanks: 1,395
val() ist das selbe wie StrToInt().

1) das "with Form1 do" kannst du weglassen, da Form1 (Self) in einer Klassenmethode automatisch impliziert wird
2) A, B, C und Max solltest du lokal deklarieren und nicht global
3) du kannst nicht einfach so eine procedure/function innerhalb des Codeteils einer anderen Funktion deklarieren. Das hat doch sicher schon zur compiletime Fehlermeldungen gehagelt? Pack die Funktion entweder in die private/evtl. public Section des Formulars oder in eine extra Unit/Klasse.

Optimal wäre sowas:
Code:
type
  TForm12 = class(TForm)
    Button1: TButton;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Label1: TLabel;
    procedure Button1Click(Sender: TObject);
  private
    function Max(A1, A2: Integer): Integer;
  public
    { Public-Deklarationen }
  end;

var
  Form12: TForm12;

implementation

{$R *.dfm}

procedure TForm12.Button1Click(Sender: TObject);
var
  A, B, C: Integer;
begin
  A := StrToInt(Edit1.Text);
  B := StrToInt(Edit2.Text);
  C := StrToInt(Edit3.Text);
  Label1.Caption := IntToStr(Max(Max(A, B), C));
end;

function TForm12.Max(A1, A2: Integer): Integer;
begin
  Result := A1;
  if (A2 > A1) then Result := A2;
end;
Saedelaere* is offline  
Thanks
1 User
Old 03/27/2014, 20:31   #12
 
Jadensan's Avatar
 
elite*gold: 0
Join Date: Aug 2011
Posts: 142
Received Thanks: 14
Danke an alle das Problem ist jetzt gelöst !
Jadensan is offline  
Reply


Similar Threads Similar Threads
[REQ] Wert mit .ini bestimmen.
10/24/2013 - C/C++ - 6 Replies
Hallo ich möchte einen wert in einer .asi mit einer .ini bestimmen. Da ich aber keinerlei Kenntnisse in c++ habe kann ich das selbst nicht machen. Ich möchte den wert *fDistance = 1500.0; (Wenn es an ist) und den wert *fDistance = 50.0; (Wenn es aus ist) in einer .ini bestimmen können Ich hoffe das mir das jemand machen kann :) Danke im voraus.
ItemBlock auf Map bestimmen?
04/17/2013 - Metin2 Private Server - 0 Replies
Hey Leude, meine Frage wurde schon paar mal gestellt aber nie richtig gelöst. Folgendes: Ich suche die Methode Clientside per Pyhton Items wie Rote Potts oder 100% Potts auf einer Map zu verbieten (ihre Nutzung verhindern) Bei den Taus dachte in an eine Quest welche die Bonis wieder abzieht. Aber ich denke und weiß das es eine methode per Pyhton im Client gibt welche mir das ganze etwas besser möglich macht.. Hab das ganze schonmal von Musicinstructor gesehen welcher aber nicht so...
NPC blickrichtung bestimmen ?
03/01/2011 - Metin2 Private Server - 3 Replies
wie lege ich die blickrichtung eines Npcs fest hier die zeile m 351 483 0 0 0 0 1m 100 1 9003
DT schmied bestimmen?
12/10/2010 - Metin2 - 6 Replies
http://www.imgbox.de/users/public/images/ZdscSzwal K.JPG Die map aus dem video von FuBu.. angeblich kann man damit bestimmen (indem man den king auf den richtigen felder killt) welcher schmied erscheint. Nun wollte ich euch fragen was die map aus sich hat? Stimmt es? oder ist es nur ein Fake ? Und kann es mal einer übersetzten? xD
IP Bestimmen?
07/03/2010 - Diablo 2 - 6 Replies
ich suche nach nem tool, mit dem ich die ip selber einstellen kann worauf ich in d2 connecte, gibt es sowas und könnte evtl. jmd nen link geben? ist es safe? mir is das ewige suchen der ip zu lästig geworden und kissclonehunter is auch nich grade der burner, nie krieg ich die ip die ich suche... könnte villt einer mit sowas auskennen :)



All times are GMT +1. The time now is 18:57.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.