AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Delphi6 Schulprojekt Eisenbahn

Ein Thema von DiePest · begonnen am 29. Nov 2006 · letzter Beitrag vom 1. Dez 2006
Antwort Antwort
Seite 1 von 2  1 2      
DiePest

Registriert seit: 29. Nov 2006
Ort: near Frankfurt
4 Beiträge
 
#1

Delphi6 Schulprojekt Eisenbahn

  Alt 29. Nov 2006, 22:54
Hi,

in der Schule programmieren wir im Moment einen Gleisplan für ein Eisenbahnmodel.
Ohne zu wissen, was auf mich zu kommt habe ich diesen Gleisplan
aus Timages erstellt. Daher meine Frage:

1.
Ich habe eine GERADESCHIENE als TImage ausgewählt und in die Zwischenablage kopiert,
jetzt möchte ich dieses Bild auf ein anderes leeres TImage setzten. Wie geht das.

2.
Ich Habe ein TImage und möchte nun den Namen des daraufgesetzen BMP wissen.

3.
Wie bekomme ich nur die Zahlen ausgegeben von "Image66" --> also nur die 66

reicht erstma...ttthhhx
  Mit Zitat antworten Zitat
Cöster

Registriert seit: 6. Jun 2006
589 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Delphi6 Schulprojekt Eisenbahn

  Alt 30. Nov 2006, 14:23
1. Während der Entwicklungszeit oder erst zur Laufzeit?
2. Hm, ist glaub ich so nicht möglich.
3. Über die Eigenschaft Name erhälst du den Namen eines Images in Form eines Strings. Mit der Funktion Copy (siehe Hilfe) kann man Teile eines Strings erhalten.
  Mit Zitat antworten Zitat
Relicted

Registriert seit: 24. Jan 2006
Ort: Iserlohn
646 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: Delphi6 Schulprojekt Eisenbahn

  Alt 30. Nov 2006, 14:34
zu 2.:

ich gehe jetzt mal davon aus dass du mit dem namen überprüfen willst um was für eine art von schiene es sich handelt..

wenn es so ist dann kleiner tipp: entweder leite dir eine klasse von timage ab welches du verwenden kannst oder was wesentlich einfacher ist definier dir konstanten mit wert 0...n die jeweils einen typ definiert also z.b. cnGerade = 1;

was du damit anfangen kannst? ganz einfach: speicher die zahl/konstante im image.tag attribut. damit solltest du ohne probleme bestimmen können was für ein image geladen ist.

sollte ich mit meiner vermutung falsch liegen: vergiss was ich gesagt hab

gruß
reli
  Mit Zitat antworten Zitat
DiePest

Registriert seit: 29. Nov 2006
Ort: near Frankfurt
4 Beiträge
 
#4

Re: Delphi6 Schulprojekt Eisenbahn

  Alt 30. Nov 2006, 14:55
cool danke...werd das ma versuchen ...und funzt...genial... thx
  Mit Zitat antworten Zitat
oldmax

Registriert seit: 27. Apr 2006
Ort: Gieboldehausen
167 Beiträge
 
#5

Re: Delphi6 Schulprojekt Eisenbahn

  Alt 30. Nov 2006, 15:00
Hi
Die Frage, wie du an die Zahl hinter "Image" kommst, ist einfach zu beantworten. Image hat genau 5 Zeichen, also fängt deine Zahl beim 6. Zeichen an und ist entsprechend Anzahl aller Zeichen-5 lang.
Programmiert sieht das so aus:
Delphi-Quellcode:
Var

  Zahl, Name : String; // Diese beiden Variablen deklarieren wir mal ...


  Name:='Image56';
  Zahl:=Copy(Name,6,Length(Name)-5); //

Kopiere ab 6.Zeichen Gesamtzahl an Zeichen -5 vom Image
Gesamtzahl der Zeichen sind 7, also kopierst du ab dem 6. Zeichen 2 Zeichen. Damit ist es egal, ob Image 56, Image4 oder image73343. Du erhälst immer die Zahl.
Gruß oldmax
Noch ist mein Rechner mir zu Diensten.... ansonsten habe ich die Macht ihn zu vernichten !
  Mit Zitat antworten Zitat
DiePest

Registriert seit: 29. Nov 2006
Ort: near Frankfurt
4 Beiträge
 
#6

Re: Delphi6 Schulprojekt Eisenbahn

  Alt 30. Nov 2006, 15:09
gutes timing... hab grad das erste problem gelöst ;P
werd dann wohl gleich weiter machen thx
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#7

Re: Delphi6 Schulprojekt Eisenbahn

  Alt 30. Nov 2006, 15:49
Also eleganter und performanter wäre es, ein array zu benutzen und zu zeichnen. Denn VCL ist für sowas nicht sehr gut geeignet.
  Mit Zitat antworten Zitat
Relicted

Registriert seit: 24. Jan 2006
Ort: Iserlohn
646 Beiträge
 
Delphi 10.4 Sydney
 
#8

Re: Delphi6 Schulprojekt Eisenbahn

  Alt 30. Nov 2006, 15:54
schulaufgaben haben aber ne andere wertigkeit ... funktion > performance

aber ich stimme dir da zu dass es performance mäßig bessere lösungswege gäbe

gruß
Reli
  Mit Zitat antworten Zitat
Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#9

Re: Delphi6 Schulprojekt Eisenbahn

  Alt 30. Nov 2006, 15:56
Also ich würde ein record machen in welches ich Bild und Daten zu dem Bild speichere und das dann in ein record, sowas:

Delphi-Quellcode:

TAusrichtung = (ageradewaagerecht,ageradesenkrecht, alinkskurvelo,alinkskurvelu,alinkskurveru,alinkskurvero, arechtskurvelo,arechtskurvelu,arechtskurveru,arechtskurvero);

TSchienenRecord = record
  Bild : TBitmap;
  //Was dir an Infos einfällt
  end;



TSchienenFeld = array[TAusrichtung]of TSchienenRecord

var schienen : TSchienenfeld;

procedure wasweisich;
begin
schienen[ageradewaagerecht].Bild:=LadeBild;
end;
Also so finde ich solche Geschichten am Einfachsten
Martin Weber
Ich bin ein Rüsselmops
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#10

Re: Delphi6 Schulprojekt Eisenbahn

  Alt 30. Nov 2006, 16:03
Ich würde mir erstmal eine gescheite Klassenstruktur entwerfen und die Records gleich wieder vergessen, denn sie verleiten dazu nicht objektorientiert zu denken.

Man kann sich zum Beispiel eine Klasse TSchiene erstellen. Davon kann man dann die Klassen TGerade und TKurve ableiten. Dan braucht man noch eine Klasse für den Gleisplan: TGleisplan, welche die Positionen der Objekte speichert und welche Methoden hat eine Schiene hinzuzufügen, zu entfernen und das ganze zeichnen kann.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:19 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz