![]() |
Typen nicht miteinander vereinbar
So gut mit Delphi kenne ich mich noch nicht aus, deshalb wäre ich dankbar, wenn mir jemand sagen könnte was es bedeutet, wenn Delphi sagt, Typen nicht miteinander vereinbar. Ich brauche einfach nur den Mittelwert aus a-j.
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var a,b,c,d,e,f,g,h,i,j,mittelwert:real; begin j:=strtofloat(edit10.text); i:=strtofloat(edit9.text); h:=strtofloat(edit8.text); g:=strtofloat(edit7.text); f:=strtofloat(edit6.text); e:=strtofloat(edit5.text); d:=strtofloat(edit4.text); c:=strtofloat(edit3.text); b:=strtofloat(edit2.text); a:=strtofloat(edit1.text); mittelwert:=(a+b+c+d+e+f+g+h+i+j)/10; label12.caption:=mittelwert; end; |
Re: Typen nicht miteinander vereinbar
probier es mal so:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var a,b,c,d,e,f,g,h,i,j,mittelwert:integer; begin j:=strtoint(edit10.text); i:=strtoint(edit9.text); h:=strtointedit8.text); g:=strtoint(edit7.text); f:=strtoint(edit6.text); e:=strtoint(edit5.text); d:=strtoint(edit4.text); c:=strtoint(edit3.text); b:=strtoint(edit2.text); a:=strtoint(edit1.text); mittelwert:=(a+b+c+d+e+f+g+h+i+j) div 10; label12.caption:=inttostr(mittelwert); |
Re: Typen nicht miteinander vereinbar
Delphi-Quellcode:
BTW: Ich würde statt real Double nehmen.
label12.caption:=FloatToStr(mittelwert);
|
Re: Typen nicht miteinander vereinbar
Vielen Dank, dass hat alles geklappt.
Wenn ich die Werte von a-j nun tauschen möchte, also j:=i; i:=h; h:=g; ... muss ich das dann so schreiben oder muss ich das über eine Hilfsvariable machen? |
Re: Typen nicht miteinander vereinbar
musst du über ne hilfsvariable machen, weil bei der letzten bekommst du sonnst probleme...
|
Re: Typen nicht miteinander vereinbar
Ich habe jetzt j:=z; ,aber trotzdem werden die Zahlen nicht getauscht.
i:=j; z:=i; |
Re: Typen nicht miteinander vereinbar
wieso denn überhaupt tauschen?? kannst du die var nicht so weiterverwenden??
|
Re: Typen nicht miteinander vereinbar
Zitat:
Delphi-Quellcode:
z:=j;
j:=i; i:=z; |
Re: Typen nicht miteinander vereinbar
Das habe ich auch schon probiert, aber dennoch stehen die Zahlen still. :?
|
Re: Typen nicht miteinander vereinbar
Oder am Besten gleich in eine Prozedur packen.
Delphi-Quellcode:
procedure swapvalues(var a,b: Double);
var tmp: Double; begin tmp := a; a := b; b := tmp; end; |
Re: Typen nicht miteinander vereinbar
Ich habe jetzt auch eine Prozedur drin, aber es geht immernoch nicht. Entweder es liegt an mir oder am pc. :gruebel:
|
Re: Typen nicht miteinander vereinbar
Hallo fransa,
Wie stellst Du den fest, dass die Zahlen nicht getaucht werden? Bis bald Chemiker |
Re: Typen nicht miteinander vereinbar
Mach doch mal einen
![]() |
Re: Typen nicht miteinander vereinbar
Zu Chemiker:
Na ich sehen es auf dem Formblatt. Dia Aufgabe ist es aus 10 Börsenmeßwerten ein Durchschnitt zu errechnen, was jetzt auch klappt, aber es sollen immer die letzten 10 Tage sein. So ist der 2. Tag irgendwann der 3. und am nächsten Tag der 4. usw.. Deshalb dachte ich mir, dass der 2. dann der 3. ist und der 9.(i) der 10.(j) usw.. |
Re: Typen nicht miteinander vereinbar
Deine Zahlen kommen aus 10 Edits (Tag 1). Am nächsten Tag kommt eine Zahl dazu, eine fliegt raus. Da nur ein Wert geändert wird, kannst Du 9 Edits vorbelegen (nun überleg mal, wie: wo kommt der Wert hin, der in Edit1 stand?). Alles klar?
|
Re: Typen nicht miteinander vereinbar
meinst du so??:
Delphi-Quellcode:
in dem fall solltest du die var. aber nicht in der procedure:
j:=i;
i:=h; h:=g; g:=f; f:=e; e:=d; d:=c; c:=b; b:=a; a:=; //neuer wert für den aktuellen tag!!
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
sondern direkt im hauptquellcode, zb unter der uses clausel deklarieren... damit erreichst du, das du von verschieden proceduren darauf zurückgreifen kannst.. |
Re: Typen nicht miteinander vereinbar
Hallo fransa,
verstehe ich das dann Richtig, dass der 10 Wert (j) nach der neuen Eingabe wegfällt? Bis bald Chemiker |
Re: Typen nicht miteinander vereinbar
Verstehe ich dich dann richtig,wenn du tag2:=tag1, tag3:=tag2,....meinst.
|
Re: Typen nicht miteinander vereinbar
Was passiert denn, wenn Du das so machst?
Tag2 := Tag1 Tag3 := Tag2 Tag4 := Tag3 ... etc. Alle Tage haben denselben Wert, nämlich den von Tag1. |
Re: Typen nicht miteinander vereinbar
Das ist mir beim Schreiben auch aufgefallen, aber trotzdem stehen die Zahlen still. Sie werden nocht nicht einmal alle gleich. Das verstehe ich am aller wenigsten, dass sie sich nicht verändern.
|
Re: Typen nicht miteinander vereinbar
Hallo fransa,
vielleicht kannst Du mal etwas mehr Quell-Code zeigen, weil es uns etwas schwer fällt Dir sonst weiter zu helfen. Bis bald Chemiker |
Re: Typen nicht miteinander vereinbar
Hallo fransa,
nach dem Tauschen der Werte, müssen die einzelnen Variablen wieder den entsprechenden TEdit´s zugewiesen werden. Edit2.Text:= b; : : Edit10.Text:= j; Bis bald Chemiker |
Re: Typen nicht miteinander vereinbar
An Chemiker:
Das ist der Quell-Code zum Tauschen:
Delphi-Quellcode:
Soll ich dann dass mit edit2.text:=b vor c:=b einfügen?
procedure TForm1.Button2Click(Sender: TObject);
var a,b,c,d,e,f,g,h,i,j:real; begin j:=strtofloat(edit10.text); i:=strtofloat(edit9.text); h:=strtofloat(edit8.text); g:=strtofloat(edit7.text); f:=strtofloat(edit6.text); e:=strtofloat(edit5.text); d:=strtofloat(edit4.text); c:=strtofloat(edit3.text); b:=strtofloat(edit2.text); a:=strtofloat(edit1.text); b:=a; c:=b; d:=c; e:=d; f:=e; g:=f; h:=g; i:=h; j:=i; end; |
Re: Typen nicht miteinander vereinbar
Hallo fransa,
das sind doch nur lokale Variable, nach dem verlassen der TForm1.Button2Click Procedure sind doch auch die Variablen nicht mehr vorhanden.
Delphi-Quellcode:
Bis bald Chemiker
procedure TForm1.Button2Click(Sender: TObject);
var a,b,c,d,e,f,g,h,i,j:real; // Auf double ändern !!!!!!! begin j:=strtofloat(edit10.text); i:=strtofloat(edit9.text); h:=strtofloat(edit8.text); g:=strtofloat(edit7.text); f:=strtofloat(edit6.text); e:=strtofloat(edit5.text); d:=strtofloat(edit4.text); c:=strtofloat(edit3.text); b:=strtofloat(edit2.text); a:=strtofloat(edit1.text); b:=a; c:=b; d:=c; e:=d; f:=e; g:=f; h:=g; i:=h; j:=i; Edit1.text:= FloatToStr(a); Edit2.text:= FloatToStr(b); : : Edit10.text:= FloatToStr(j); end; |
Re: Typen nicht miteinander vereinbar
Hallo fransa,
auf dem Formular 11 TEdit, 1 TLabel und 2 TButton platzieren. Sie entsprechend Beschriften (Edit.Name usw.).
Delphi-Quellcode:
Unit DPBeispielUnit;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Tag4Edit: TEdit; Tag2Edit: TEdit; Tag3Edit: TEdit; Tag1Edit: TEdit; Tag5Edit: TEdit; Tag7Edit: TEdit; Tag6Edit: TEdit; Tag8Edit: TEdit; Tag9Edit: TEdit; Tag10Edit: TEdit; Durchschnitt: TLabel; MittelWertBerechenButton: TButton; NeuerTagButton: TButton; NeuerTagEdit: TEdit; procedure MittelWertBerechenButtonClick(Sender: TObject); procedure NeuerTagButtonClick(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.MittelWertBerechenButtonClick(Sender: TObject); var a,b,c,d,e,f,g,h,i,j: double; begin a:= strToFloat(Tag1Edit.Text); b:= strToFloat(Tag2Edit.Text); c:= strToFloat(Tag3Edit.Text); d:= strToFloat(Tag4Edit.Text); e:= strToFloat(Tag5Edit.Text); f:= strToFloat(Tag6Edit.Text); g:= strToFloat(Tag7Edit.Text); h:= strToFloat(Tag8Edit.Text); i:= strToFloat(Tag9Edit.Text); j:= strToFloat(Tag10Edit.Text); Durchschnitt.Caption:= FloatToStr(a+b+c+d+e+f+g+h+i+j/10); end; procedure TForm1.NeuerTagButtonClick(Sender: TObject); begin Tag10Edit.Text:= Tag9Edit.Text; // Der Wert vom 10 Tag fällt weg. Tag9Edit.Text:= Tag8Edit.Text; Tag8Edit.Text:= Tag7Edit.Text; Tag7Edit.Text:= Tag6Edit.Text; Tag6Edit.Text:= Tag5Edit.Text; Tag5Edit.Text:= Tag4Edit.Text; Tag4Edit.Text:= Tag3Edit.Text; Tag3Edit.Text:= Tag2Edit.Text; Tag2Edit.Text:= Tag1Edit.Text; Tag1Edit.Text:= NeuerTagEdit.Text; // Neuer Wert eintragen. end; end. Bis bald Chemiker |
Re: Typen nicht miteinander vereinbar
Das hat jetzt alles gelappt. Vielen, vielen Dank für die Hilfe :-D
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:10 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