Autor |
Beitrag |
Sputyyy
      
Beiträge: 30
|
Verfasst: Mo 10.01.11 16:07
Hallo Leute!
Ich muss ein Autorennen programmieren und wollte Fragen wie es geht, dass ich ein Auto als Grafik einfügen kann, dass sich dann auch bewegt.
Vielen Dank im Voraus.
Moderiert von Martok: Topic aus Sonstiges (Delphi) verschoben am Mo 10.01.2011 um 15:25
Moderiert von Martok: Text entfärbt und entformatiert
|
|
jaenicke
      
Beiträge: 19314
Erhaltene Danke: 1747
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Mo 10.01.11 16:14
Kleiner Tipp an folgende Leser: Einfach alles markieren, dann kann man den versteckten Text lesen.
Schreibst du auch mit Tipp-Ex auf weißem Papier?
Sputyyy hat folgendes geschrieben : | Ich muss ein Autorennen programmieren und wollte Fragen wie es geht, dass ich ein Auto als Grafik einfügen kann, dass sich dann auch bewegt. |
(Farbe entfernt...)
Wo ist denn das konkrete Problem?
Ich meine es gibt viele Möglichkeiten.
Nun gut:
Du kannst z.B. eine TPaintBox nehmen und in OnPaint oder bei einer Bewegung das Auto an die gewünschte Stelle zeichnen. Meinst du das?
|
|
Sputyyy 
      
Beiträge: 30
|
Verfasst: Mo 10.01.11 16:19
Ich möchte ein Auto aus dem Internet einfügen.
|
|
jaenicke
      
Beiträge: 19314
Erhaltene Danke: 1747
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Mo 10.01.11 16:21
Meinst du eins aus einem Automarkt?
Im Ernst: Was genau möchtest du denn machen und wo ist das Problem?
Willst du mit deinem Programm ein Bild eines Autos herunterladen und auf deinem Formular darstellen? Wie wäre es mit TIdHttp zum Download?
|
|
Sputyyy 
      
Beiträge: 30
|
Verfasst: Mo 10.01.11 16:28
Ich habe jetzt ein TShape Objekt eingefügt, möchte aber statt diesem ein kleines Spielzeugauto oder dergleichen einfügen damit es einfach besser aussieht. Dieses Auto soll dann von der einen Seite zur anderen fahren.
Zuletzt bearbeitet von Sputyyy am Di 11.01.11 15:10, insgesamt 1-mal bearbeitet
|
|
jaenicke
      
Beiträge: 19314
Erhaltene Danke: 1747
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Mo 10.01.11 16:30
Wie ich schon sagte: jaenicke hat folgendes geschrieben : | Du kannst z.B. eine TPaintBox nehmen und in OnPaint oder bei einer Bewegung das Auto an die gewünschte Stelle zeichnen. |
|
|
Tilman
      
Beiträge: 1405
Erhaltene Danke: 51
Win 7, Android
Turbo Delphi, Eclipse
|
Verfasst: Mo 10.01.11 16:40
Für einen Anfänger würde ich allerdings TImage eher empfehlen. Du findest die Komponente in der Seite "Zusätzlich". Im ObjektInspektor einfach auf die drei kleinen Punkte bei "Picture" klicken, und dein Bild auswählen. Es wird dann automatisch ins Delphi-Programm geladen und steht zur Verfügung.
_________________ Bringe einen Menschen zum grübeln, dann kannst du heimlich seinen Reis essen.
(Koreanisches Sprichwort)
|
|
HenryHux
      
Beiträge: 542
Erhaltene Danke: 33
Windows 7 Premium
Delphi XE, Eclipse
|
Verfasst: Mo 10.01.11 20:43
Hi,
ich würde es auch mit einem TImage machen.
Für Bitmaps geht das so img1.picture.loadfromfile('C:\test.bmp') .
Willst du das mit einem JPeg machen, musst du vorher ganz oben bei den Uses JPEG dazuschreiben.
Viel Glück
|
|
Tilman
      
Beiträge: 1405
Erhaltene Danke: 51
Win 7, Android
Turbo Delphi, Eclipse
|
Verfasst: Mo 10.01.11 20:50
HenryHux hat folgendes geschrieben : | Für Bitmaps geht das so img1.picture.loadfromfile('C:\test.bmp') |
So sollte man es nicht machen! Entweder so wie ichs oben geschrieben habe, im OI über die drei Punkte (dann ist das Bild mit in der EXE drin, und muss nicht weiter verteilt werden), oder so wie du es sagst über loadfromfile, aber dann mit relativem Pfad (bilder\test.bmp), nicht mit absolutem Pfad (C:\...). Denn dann funktioniert das Programm hinterher nur bei einer Person, auf einem Computer 
_________________ Bringe einen Menschen zum grübeln, dann kannst du heimlich seinen Reis essen.
(Koreanisches Sprichwort)
|
|
Gausi
      
Beiträge: 8548
Erhaltene Danke: 477
Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
|
Verfasst: Mo 10.01.11 20:57
Tilman hat folgendes geschrieben : | So sollte man es nicht machen! [...], oder so wie du es sagst über loadfromfile, aber dann mit relativem Pfad (bilder\test.bmp), nicht mit absolutem Pfad (C:\...). Denn dann funktioniert das Programm hinterher nur bei einer Person, auf einem Computer  |
Bitte. NIEMALS mit relativen Pfaden bei sowas arbeiten. NIE. Das ist ganz großes Pfui!
Immer mit vollständigen Pfaden arbeiten, die man ggf. selbst zusammenbastelt, indem man über ExtractFilePath(ParamStr(0)) den Pfad zur Anwendung bestimmt. Wenn man relative Pfade verwendet, und dann mal einen Open- oder SaveDialog verwendet, dann sucht man sonst erstmal den Fehler, warum das plötzlich nicht mehr funktioniert.
_________________ We are, we were and will not be.
|
|
jaenicke
      
Beiträge: 19314
Erhaltene Danke: 1747
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Mo 10.01.11 21:18
Gausi hat folgendes geschrieben : | Wenn man relative Pfade verwendet, und dann mal einen Open- oder SaveDialog verwendet, dann sucht man sonst erstmal den Fehler, warum das plötzlich nicht mehr funktioniert. |
Auch wenn sich nicht besonders viele außerhalb von Firmen so sehr drum kümmern: Nicht nur das, man produziert auch Sicherheitslücken.
Nur als Beispiel:
Ich schreibe eine Anwendung, die Adminrechte benötigt. Das weiß der Benutzer und verteilt diese auch. Diese Anwendung startet ein anderes Tool, aber leider mit relativem Pfad. Jetzt muss ich als Angreifer nur noch die Verknüpfung mit der Exe ändern, damit das Arbeitsverzeichnis auf meine Angreifer-Exe zeigt, schon wird die gestartet und ich habe Adminrechte.
Oder das bekannt gewordene Problem mit untergeschobenen DLLs im Arbeitsverzeichnis. Oder oder...
|
|
Tilman
      
Beiträge: 1405
Erhaltene Danke: 51
Win 7, Android
Turbo Delphi, Eclipse
|
Verfasst: Mo 10.01.11 21:20
Zitat: | ExtractFilePath(ParamStr(0)) |
Das ist trotzdem relativ (oder vielleicht "Dynamisch")  aber du hast völlig recht, ich mach das ja selbst auch immer so, hatte das irgendwie im Eifer des Gefechts vergessen. Application.exename geht auch.
//edit bzw. ich hatte es nicht nur Vergessen, ich hatte ja eh keinen Code gepostet - daher stimmt mein Post, auch wenn er auf eine Wichtige Information zum implementieren nicht eingegangen ist 
_________________ Bringe einen Menschen zum grübeln, dann kannst du heimlich seinen Reis essen.
(Koreanisches Sprichwort)
|
|
jaenicke
      
Beiträge: 19314
Erhaltene Danke: 1747
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Mo 10.01.11 21:30
Tilman hat folgendes geschrieben : | Das ist trotzdem relativ |
Nein, ein absoluter Pfad. Relativ ist nur der Teil nach dem ExtractFilePath, nämlich relativ zu eben diesem Pfad.
c:\test.bmp --> fester Pfad
test.bmp --> relativer Pfad
ExtractFilePath(...)\test.bmp --> absoluter Pfad
Aber wir schweifen ab. 
|
|
Sputyyy 
      
Beiträge: 30
|
Verfasst: Di 11.01.11 16:12
okay ^^
sorry wegen dem Pfad.
aber danke für die Antworten. Ich habs endlich geschafft ^^

|
|
jaenicke
      
Beiträge: 19314
Erhaltene Danke: 1747
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Di 11.01.11 16:13
|
|
|