AGB  ·  Datenschutz  ·  Impressum  







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

Breakpoint / Compiler Probleme

Ein Thema von BlueLiquidCell · begonnen am 6. Jan 2011 · letzter Beitrag vom 7. Jan 2011
Antwort Antwort
Seite 2 von 2     12   
Blup

Registriert seit: 7. Aug 2008
Ort: Brandenburg
1.477 Beiträge
 
Delphi 12 Athens
 
#11

AW: Breakpoint / Compiler Probleme

  Alt 7. Jan 2011, 13:48
+Warum eigentlich "Shortstring", das wird doch unnötig groß da immer die maximale Größe an Speicher reserviert wird. Da Name und Dateiname immer als Paar auftreten und z.T. mehrfach verwendet werden, würde ich die Struktur auch anders aufbauen:
Delphi-Quellcode:
interface

function ChartsName(n1, n2: Integer): string;
function ChartsPath(n1, n2: Integer): string;

implementation

type
  TChartRec = record
    Name: string;
    Path: string;
  end

const
  Chart_INFO1 : TChartRec = (Name = 'INFO 1'        , Path = 'INFO1.jpg');
  Chart_INFO2 : TChartRec = (Name = 'INFO 1'        , Path = 'INFO1.jpg');
  Chart_GND : TChartRec = (Name = 'GND'           , Path = 'GND.jpg');
  Chart_PARKEast : TChartRec = (Name = 'PARK East'     , Path = 'PARKEast.jpg');
  Chart_PARK : TChartRec = (Name = 'PARK'          , Path = 'PARK.jpg');
  Chart_PARKWest : TChartRec = (Name = 'PARK West'     , Path = 'PARKWest.jpg');
  Chart_SIDAMEXO : TChartRec = (Name = 'SID AMEXO'     , Path = 'SIDAMEXO.jpg');
  Chart_SID : TChartRec = (Name = 'SID'           , Path = 'SID.jpg');
{...usw....}

  FCharts: array [0..40, 0..4] of TChartRec =
    ((Chart_INFO1, Chart_INFO1, Chart_GND, Chart_GND, Chart_GND),
     (Chart_INFO2, Chart_INFO2, Chart_PARKEast, Chart_PARK, Chart_PARK),
     (Chart_GND, Chart_GND, Chart_PARKWest, Chart_SIDAMEXO, Chart_SID),
{...usw....}
    );

function ChartsName(n1, n2: Integer): string;
begin
  Result := FCharts[n1, n2].Name;
end;

function ChartsPath(n1, n2: Integer): string;
begin
  case n2 of
    0: Result := 'EDDG';
    1: Result := 'EDDH';
    2: Result := 'EDDK';
    3: Result := 'EDDM';
    4: Result := 'EDDT';
  else
    Result := '';
    Exit;
  end;
  Result := Format('Charts/%s/%s', [Result, FCharts[n1, n2].Path]);
end;
P.S. warum versaut der Delphi-Tag meine schöne Formatierung
  Mit Zitat antworten Zitat
BlueLiquidCell

Registriert seit: 29. Jun 2010
63 Beiträge
 
Delphi 2 Desktop
 
#12

AW: Breakpoint / Compiler Probleme

  Alt 7. Jan 2011, 17:30
Hey
Ja is mir aufgefallen
Aber später sollen es eh andere einträge werden und leider hilft das nicht gegen das Problem.

@ Blub, da hast du eig recht, werd ich mal probieren! Danke

Geändert von BlueLiquidCell ( 7. Jan 2011 um 17:33 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#13

AW: Breakpoint / Compiler Probleme

  Alt 7. Jan 2011, 17:44
Ich würde die Daten in eine Datei packen und diese bei Programmstart in das Array laden.
Wenn ich mir die Daten des Arrays so anschaue, macht es den Eindruck das sich diese Daten auch mal ändern können. Schon deswegen würde ich das Auslagern in eine Datei bevorzugen damit nicht wegen jeder kleinen Datenänderung das Programm kompiliert werden muss.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
BlueLiquidCell

Registriert seit: 29. Jun 2010
63 Beiträge
 
Delphi 2 Desktop
 
#14

AW: Breakpoint / Compiler Probleme

  Alt 7. Jan 2011, 17:56
Ja da haste Recht! Wollt ich auch machen, hatte blos noch keine Zeit
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#15

AW: Breakpoint / Compiler Probleme

  Alt 7. Jan 2011, 19:07
Keine Zeit?
Eine TStringList im Key/Value-Modus wäre wesentlich schneller implementiert als solche Arrays.

die Datei
Code:
INFO 1=Charts/EDDG/INFO1.jpg
INFO 2=Charts/EDDG/INFO2.jpg
GND=Charts/EDDG/GND.jpg
...
Delphi-Quellcode:
SL.LoadFromFile(...);

S := SL.Value['GND'];
// S = 'Charts/EDDG/GND.jpg'

S := SL.Key[1];
// S = 'INFO 2'
$2B or not $2B

Geändert von himitsu ( 7. Jan 2011 um 19:14 Uhr)
  Mit Zitat antworten Zitat
BlueLiquidCell

Registriert seit: 29. Jun 2010
63 Beiträge
 
Delphi 2 Desktop
 
#16

AW: Breakpoint / Compiler Probleme

  Alt 7. Jan 2011, 19:47
Versteh zwar net warum das schneller sein soll aber macht auch nix.
Lad die namen jetzt aus ner externen Datei. Funktioniert wunderbar und compilen geht auch!
Danke!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 10:38 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