-
Forum: Programmieren allgemein
Delphi
by Boyington,
6. Jun 2012
Nachdem ich den "schönen kleinen" Semikolon zugefügt habe, funktioniert diesmal die original Code (Eingabe+Ausgabe) von Klaus bei mir ganz gut, und Gott sei dank, mein eigenes Programm (*.STL Datei Einlesen basiert auf Code von Klaus) läuft auch so gut (vorher hab ich New(hDreieck) irgendwo zweimal geschrieben, deshalb falsche Koordinaten bekommen).
Danke für alle Antworten, besonders für...
-
Forum: Programmieren allgemein
Delphi
by Boyington,
6. Jun 2012
Das ist mein Programm mit Code von Klaus
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, GLScene, GLMisc, GLVectorFileObjects, GLWin32Viewer, GLFileSTL,
-
Forum: Programmieren allgemein
Delphi
by Boyington,
6. Jun 2012
original Koordinaten von *.stl Datei:
solid ascii
facet normal 2.445222e-016 0.000000e+000 1.000000e+000
outer loop
vertex -2.007874e+000 1.968504e+000 5.905512e-002
vertex -2.007874e+000 -1.968504e+000 5.905512e-002
vertex -1.574803e-001 -1.968504e+000 5.905512e-002
endloop
endfacet
-
Forum: Programmieren allgemein
Delphi
by Boyington,
6. Jun 2012
Guten Tag Zusammen,
die original Ausgabe-Code (in Log.txt) von Klaus funktioniert jetzt schon (besonders "with hDreieck(Dreiecke)^ do begin""), hab ich gerade schon probiert, jedoch muss man hDreieck = ^TDreieck; am Anfang des Programms unter Type erklären, aber nicht innerhalb von Ausgabe-Code, also nicht innerhalb von procedure CopyDreiecke(tofile:boolean)
procedure...
-
Forum: Programmieren allgemein
Delphi
by Boyington,
5. Jun 2012
Abend Klaus, danke für deine nette und ausführliche Erklärung!
zu 1). Da hast du recht:-D "for i:=0 to High(Dreiecke) do" soll durch "for i:=0 to Dreiecke.Count-1 do" ersetzt werden, ich hab es in "FormDestroy" schon gemacht, bin doch blöd :(
zu 2). "with hDreieck(Dreiecke)^ do begin" schon in Programm geschrieben, aber leider hab ich wieder Fehlermeldung bekommen: Missing Operator or...
-
Forum: Programmieren allgemein
Delphi
by Boyington,
5. Jun 2012
Danke dafür, Klaus!
Ich hab gerade das Programm wieder korrigiert, und die Compile scheint in Ordnung zu sein, aber ohne Ausgabe in Log.txt kann ich nun leider nicht überprüfen, ob das Ergebnis richtig ist.
Memory freemachen (am Anfang des Programms unter Type "procedure FormDestroy(Sender: TObject);" zugefügt):
procedure TForm1.FormDestroy(Sender: TObject);
var hDreieck:^TDreieck;
...
-
Forum: Programmieren allgemein
Delphi
by Boyington,
4. Jun 2012
Guten Abend Leute und danke für die Codes, Bummi.
Um Parameter "Dreiecke" (array of TDreieck) von dynamischem Array in Typ von "TList" umzuwandeln, habe ich original code von Klaus wie folgendes umgeschrieben:
type
TVektor = record
x, y, z: real;
end;
TDreieck = record
n: TVektor; // n ist Normalvektor
-
Forum: Programmieren allgemein
Delphi
by Boyington,
2. Jun 2012
danke für die Antwort, Bummi:)
Aber ich verwende und besitze im Moment nur Delphi7, wie kann ich dynamischen Array mit so alter Delphiversion in TList einfach umwandeln?
Gruss
Lee
-
Forum: Programmieren allgemein
Delphi
by Boyington,
2. Jun 2012
Guten Morgen alle,
ich hab wieder ne Frage:
wie kann ich eine dynamische Array (hier z.B Dreiecke: array of TDreieck) in TList umwandeln?
Also alle gerade eingelesenen Koordinaten sollen in TList gespeichert werden, damit kann ich später eine vorhandene Funktion (z.B function Abstand(var MinAbstand: real; Messpos, Blick: TVektor; hList: TList): integer; ) verwenden.
Danke dafür!
Gruss...
-
Forum: Programmieren allgemein
Delphi
by Boyington,
31. Mai 2012
Guten Abend Klaus,
heute funktioniert nicht nur dein original Programm bei mir perfekt, sondern auch meine eigne "Verschlimmbessserung" 8-)
Nochmals vielen Dank für deine nette Hilfe!
Gruss
Lee
-
Forum: Programmieren allgemein
Delphi
by Boyington,
29. Mai 2012
Folgende ist mein Programm (code von dir gemacht), durch Drücken von Button2 werden STL-Datei eingelesen, und durch Drücken von Button3 wird die Liste in Log.txt gespeichert.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, GLScene, GLMisc, GLVectorFileObjects, GLWin32Viewer, GLFileSTL,
Menus, ComCtrls, StdCtrls,...
-
Forum: Programmieren allgemein
Delphi
by Boyington,
29. Mai 2012
vielen Dank für die sehr ausführlichen Antwort und Hinweise, Klaus.
Ich hab dein erstes Programm (stl-Datei einlesen) gerade probiert, aber leider hab ich folgende Fehlermeldungen bekommen.
http://www.delphipraxis.net/attachment.php?attachmentid=36972&stc=1&d=1338246528
http://www.delphipraxis.net/attachment.php?attachmentid=36973&stc=1&d=1338246528
Wegen Fehlermeldung von "PROCEDURE...
-
Forum: Programmieren allgemein
Delphi
by Boyington,
28. Mai 2012
Hallo Klaus,
ich hab dein Programm vereinfacht, aber es funktioniert einfach nicht (die *.exe Datei kann nicht mehr geschlossen werden nach der Durchführung), es scheint, dass Fehler irgendwo aufgetreten sind (wegen unendlicher Schleife???).
type
TVektor = record
x, y, z: real;
end;
TDreieck = record
n: TVektor; // n ist Normalvektor
-
Forum: Programmieren allgemein
Delphi
by Boyington,
24. Mai 2012
Morgen Alle,
alles klar, danke für die hilfreiche Antwort:)
l.g
Lee
-
Forum: Programmieren allgemein
Delphi
by Boyington,
23. Mai 2012
Guten Abend, Leute
Zwei Fragen an dich, Klaus:
1)für SetLength(Dreiecke,Length(Dreiecke)+1), Length(Dreiecke)+1 darf nur zwischen 0...255 sein, oder? Wenn ein 3D-Objekt z.B nur aus weniger als 255 Dreiecken besteht, ist es in Ordnung, aber wenn es aus 10000 Dreiecken besteht, wie mache ich mit dieser Funktion Dreiecke, Dreiecke....bis Dreiecke?
2)wie kann man nach dem Einlesen der *.stl...
-
Forum: Programmieren allgemein
Delphi
by Boyington,
22. Mai 2012
Morgen alle,
vielen Dank für die nette Antwort, Klaus!
Ich werde später selbst auch mal probieren, ob die bei mir geht.
l.g
Lee
-
Forum: Programmieren allgemein
Delphi
by Boyington,
21. Mai 2012
Hallo Leute,
weiß Jemand vielleicht, wie ich alle Koordinaten aus einem Textdokument (*.stl Datei im ASCII Format) einlesen und dann in einer Liste speichern kann? Da ich mich mit Text- oder StringVerarbeitung in Delphi nicht gut auskenne.
*.stl Datei (ASCII Format) sieht wie folgendes aus:
solid ascii
facet normal 2.445222e-016 0.000000e+000 1.000000e+000
outer loop
...