Entwickler-Ecke
Sonstiges (Delphi) - Bilder einfügen
WormHole - Mi 20.04.05 21:37
Titel: Bilder einfügen
Hallo,
ich hab eigentlich zwei Fragen an euch. Ich habe erst vor zwei Wochen mit Delphi angefangen und traue mich nun an ein "größeres" (nicht lachen) Projekt ran. Ich möchte gerne ein Programm schreiben, womit man z.B. den Flächeninhalt eines Dreiecks etc. berechnen kann. Nun, die Formeln etc. habe ich alles schon, nur wollte ich wohl gerne ein Bild von der angegeben Form oben einfügen. Wie geht das?^^
Meine zweite Frage bezieht sich auf was ganz anderes. Ich möchte einen Taschenrechner programmieren. Einen Taschenrechner mit zwei Editfeldern habe ich schon gemacht, doch ich möchte das gerne so wie bei dem Windows Taschenrechner machen und nur ein Editfeld haben. Könntet ihr mir bitte helfen? Das wäre sehr nett.
Greetz WormHole
Karlson - Mi 20.04.05 22:13
Titel: Re: Bilder einfügen
Servus,
Eigentlich gilt, das man hier pro Frage einen Thread eröffnen sollte. Aber das wird ein Mod dir wahrscheinlich gleich nochmal sagen.
WormHole hat folgendes geschrieben: |
Hallo,
ich hab eigentlich zwei Fragen an euch. Ich habe erst vor zwei Wochen mit Delphi angefangen und traue mich nun an ein "größeres" (nicht lachen) Projekt ran. Ich möchte gerne ein Programm schreiben, womit man z.B. den Flächeninhalt eines Dreiecks etc. berechnen kann. Nun, die Formeln etc. habe ich alles schon, nur wollte ich wohl gerne ein Bild von der angegeben Form oben einfügen. Wie geht das?^^
|
Es gibt hier die Möglichkeit des Befehls
paintbox.canvas.polygon(). Übergeben werden die drei Eckpunkte, daraus wird dann auf die Komponente
TPaintbox (zu finden in der Registerkarte System) ein Dreieck gezeichnet.
Dein Hauptproblem besteht also daran an die Eckpunkte zu kommen. Da ist dann aber nur noch ein mathematisches Problem. Mit Sin und Cossinus sollte das schon möglich sein. Musst aber halt dein Gehirn einschalten und das auf dem Blatt erstmal vorrechnen. Wenn du die Formel dann hast kannst du es in Delphi umsetzen. Aber bitte dann kein thread davor. Wenn du nicht weisst wie man unter Delphi bestimmte Rechenoperatoren benutzt, dann benutze die Boardsuche!
| Zitat: |
Meine zweite Frage bezieht sich auf was ganz anderes. Ich möchte einen Taschenrechner programmieren. Einen Taschenrechner mit zwei Editfeldern habe ich schon gemacht, doch ich möchte das gerne so wie bei dem Windows Taschenrechner machen und nur ein Editfeld haben. Könntet ihr mir bitte helfen? Das wäre sehr nett.
|
Schwer bzw. nicht unbedingt sehr einfach für einen Anfänger.
Du musst programmintern die Eingaben abspeichern, und dann zum schluss alles nochmal parsen und ausrechnen.
Beispiel:
Im Editfeld des TR's steht '5034', dann drückst du auf [+] und möchtest '5' dazuzählen. Sobald du auf das Rechenzeichen klickst, soll die '5034' aus dem Editfeld verschwinden. Quellcode würde so aussehen:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54:
| var List : TStringList;
procedure formcreate(); begin List := TStringList.Create; end;
procedure AufPlusKlicken(); begin list.add(edit1.text); list.add('+'); edit1.text := ''; end;
procedure Ergebnissberechnen(); var aZ1 : Real; aZ2 : Real; aZ3 : Real; i : integer; Result : Real; begin list.add(edit1.text); list.add('='); edit1.text := ''; aZ2 := 0; i := 0; while i <> list.count -1 do begin if i = 0 then begin aZ1 := StringToFloat(List[i]); case list[i+1] of '+' : az3 := az1 + az2; '=' : begin Result := az3; exit; end; end; inc(i,2); end else begin az1 := az3; az2 := stringToFloat(List[i]); case list[i+1] of '+' : az3 := az1 + az2; end; inc(i,2); end; end; |
So, das ganze ist ungetestet, ergo werden ein paar Fehler drin sein. Aber du hast einen Ansatz und von jetzt an musst du selbst drauf kommen ;)
Du musst nur darauf achten, dass die Anzahl der Items in der Stringlist (list.count) im gerade ist! Das sollte klappen, denn wir haben pro Hinzufügeschritt eine Zahl und einen Operator (deswegen am Ende das '=').
Übel wird das ganze erst wenn du noch Klammern sowie Punkt vor Strich und ähnliches willst ;) Aber das macht der Windows TR meines wissens auch nicht.
WormHole - So 24.04.05 17:13
Erstmal dankeschön! Echt nett das du mir geholfen hast. Nur,
Wie macht man das denn mit TPaintbox? Wie sag ich Delphi das der mir aus den Drei Punkten ein dreieck machen soll?
AXMD - So 24.04.05 17:15
WormHole hat folgendes geschrieben: |
Erstmal dankeschön! Echt nett das du mir geholfen hast. Nur,
Wie macht man das denn mit TPaintbox? Wie sag ich Delphi das der mir aus den Drei Punkten ein dreieck machen soll? |
Schau dir mal TCanvas.LineTo an ;)
AXMD
WormHole - So 24.04.05 17:33
| Zitat: |
| Schau dir mal TCanvas.LineTo an |
Tut mir leid aber damit kann ich nichts anfangen :cry:
Karlson - So 24.04.05 17:48
Wen du damit nichts anfangen kannst dann bestimmt
LINETO DELPHI , die Forensuche unter
LINETO, die forensuche des befreundeten Forums
LINETO und zu guter letzt natürlich noch die Delphi Hilfe. (Einfach in der IDE F1 drücken, oder im MainMenu auf Hilfe drücken).
Die Sache ist nicht schwer, aber ohne Eigeninitiative nicht lösbar.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!