AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

record

Ein Thema von nixalsverdruss · begonnen am 24. Jan 2009 · letzter Beitrag vom 24. Jan 2009
Antwort Antwort
nixalsverdruss

Registriert seit: 22. Nov 2008
128 Beiträge
 
Delphi 2005 Personal
 
#1

record

  Alt 24. Jan 2009, 13:35
Hallo,
ich habe ein record gemacht um eine Highscore zu erstellen:
Delphi-Quellcode:
type
  THighscoreEintrag = record
    Nr: Byte;
    Name: string;
    Punkte: Integer;
  end;
und dann einen Butten mit dem:
Delphi-Quellcode:
procedure TForm3.Button1Click(Sender: TObject);
var
  Hscr: array[1..10] of THighscoreEintrag;
begin
  Hscr[1].Nr := 1;
  Hscr[1].Name := 'Der Erste';
  Hscr[1].Punkte := 10000;
end;
Wie gehts jetzt weiter?
Goldene Regel: Was man an Kraft spart, kann man an Faulheit zusetzen!
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

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

Re: record

  Alt 24. Jan 2009, 13:54
wie geht was weiter ... bzw. was willt du denn erreichen?
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.752 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: record

  Alt 24. Jan 2009, 13:59
Zitat von nixalsverdruss:
und dann einen Butten mit dem:
Delphi-Quellcode:
procedure TForm3.Button1Click(Sender: TObject);
var
  Hscr: array[1..10] of THighscoreEintrag;
begin
  Hscr[1].Nr := 1;
  Hscr[1].Name := 'Der Erste';
  Hscr[1].Punkte := 10000;
end;
Wie gehts jetzt weiter?
Hallo,

Du willst doch eine Liste machen, oder?
Hier beschreibst Du immer nur das erste Element deines Arrays.

Wenn Du ein Element einfügst, mußt Du schauen an welche Stelle es kommt
und eventuell die nachfolgenden Felder nach hinten verschieben.
Ist das neue Element kleiner als alle Elemente die bereits in der Liste sind
wird es hinten angehangen es sei denn alle Felder sind schon beschrieben
dann wird das Element nicht in die Liste aufgenommen.

Mußt Du mit einem Array arbeiten?
TList wäre eine Alternative, dort gibt es schon die Methode
insert um ein Element zwischen zwei Elementen einzuschieben.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
nixalsverdruss

Registriert seit: 22. Nov 2008
128 Beiträge
 
Delphi 2005 Personal
 
#4

Re: record

  Alt 24. Jan 2009, 14:00
Ah TStringList...ja jetzt hab ichs!! Dankeschön!
Goldene Regel: Was man an Kraft spart, kann man an Faulheit zusetzen!
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.752 Beiträge
 
Delphi 10.4 Sydney
 
#5

Re: record

  Alt 24. Jan 2009, 14:02
Zitat von nixalsverdruss:
Ah TStringList...ja jetzt hab ichs!! Dankeschön!
In eine TStringList kannst Du, wie der Name schon sagt, keine Records einfügen.
Sie ist nur für Strings gedacht.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#6

Re: record

  Alt 24. Jan 2009, 14:05
Bitte ändere mal deinen Threadtitel, mit dem Editbutton deines ersten Beitrags, in einen aussagefägigen Titel.
"record" sagt ja nicht besonders viel aus, gelle. >>--> bitte lesen
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.752 Beiträge
 
Delphi 10.4 Sydney
 
#7

Re: record

  Alt 24. Jan 2009, 14:08
Vielleicht könnte man das auch mit diesem Thread (Highscore erstellen) verlinken.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Blackheart

Registriert seit: 4. Mai 2005
846 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: record

  Alt 24. Jan 2009, 15:52
Zitat von turboPASCAL:
Bitte ändere mal deinen Threadtitel, mit dem Editbutton deines ersten Beitrags, in einen aussagefägigen Titel.
"record" sagt ja nicht besonders viel aus, gelle. >>--> bitte lesen
Vieleicht sollte man das den Moderatoren oder dem Verfasser deines angegebenen Links überlassen. (Weihnachten ist vorbei)
Blackheart
  Mit Zitat antworten Zitat
mr_emre_d
(Gast)

n/a Beiträge
 
#9

Re: record

  Alt 24. Jan 2009, 16:41
Ich glaube er will das ganze speichern

Delphi-Quellcode:
procedure SaveHSList(Filename: String; const List: THighscoreEintrag);
var
  F: File of THighscoreEintrag;
  i: Integer;
begin
  try
    if FileExists(Filename) then
      case messagedlg( 'Datei existiert bereits'#13#10'Datei überschreiben', mtConfirmation, [mbYes, mbNo, mbCancel], 0 ) of
        MRNO:
        begin
          Filename := inputbox('New filename', 'Type in an another filename', '');
          SaveHSList(Filename, List);
          EXIT;
        end;
        MRCancel: EXIT;
      end;
    AssignFile(F, Filename);
    Rewrite(F);
    for i := low(List) to High(List) do
      BlockWrite(F, List[i], SizeOf(THighscoreEintrag));
  finally
    CloseFile(F);
  end;
end;
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 21:37 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