AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Speichern auf gemeinsam genutzem Netzwerkspeicher
Thema durchsuchen
Ansicht
Themen-Optionen

Speichern auf gemeinsam genutzem Netzwerkspeicher

Ein Thema von Torley · begonnen am 6. Feb 2008 · letzter Beitrag vom 8. Feb 2008
 
Torley

Registriert seit: 24. Jan 2008
Ort: Freudenberg
39 Beiträge
 
Delphi 6 Professional
 
#8

Re: Speichern auf gemeinsam genutzem Netzwerkspeicher

  Alt 7. Feb 2008, 14:47
Das wird bei start ausgeführt! wenn die datei existiert dann wird aus der gelesen wenn nicht wird c: genommen und wenn die nicht existiert wird sie erstellt (beim eintragen);
Delphi-Quellcode:
 
procedure TForm1.FormCreate(Sender: TObject);
//.....
HighScore := TStringList.Create;
if FileExists('T:\snake\highscore.dat')
   then
    begin
     HighScorePfad := ('T:\snake\highscore.dat');
     HighScore.LoadFromFile(HighScorePfad);
     csave:= false;
    end
   else
    if FileExists('C:\Programme\Snake\Highscore4.dat')
     then
      begin
       HighScorePfad := ('C:\Programme\Snake\Highscore4.dat');
       HighScore.LoadFromFile(HighScorePfad);
       csave:= true;
      end
     else
      begin
       HighScore.Add('005 Unknown');
       HighScore.Add('010 Unknown');
       HighScore.Add('015 Unknown');
       Highscorepfad:=('C:\Programme\Snake\Highscore4.dat');
      end;
//.....
das ist die procedure die beim einfürgen zur highscore aufgerufen wird!
Delphi-Quellcode:
procedure TForm1.FuegeZumHighScoreHinzu(Name : String; Score : Integer;
                                       Trennzeichen : Char; Trennzeichenmenge : integer;
                                       ScoreLength : integer);
var i : integer;
    ATrennzeichen : String;
    TempStrList : TStringList;
    AScore : String;
begin
 if HighScore.Count < 2 then Exit;
 // Es müssen mindestens 2 Einträge in der HighScoreliste bereits stehen
 if Trennzeichenmenge < 1 then Exit;
 // Weniger als ein Trennzeichen oder gar negative Trennzeichen sind nicht möglich
 for i := 1 to Trennzeichenmenge do
  begin
   ATrennzeichen := ATrennzeichen + Trennzeichen;
  end;
 // Unser Trenzeichenstring ist fertig
 AScore := intToStr(Score);
 while Length(AScore) <> ScoreLength do
  begin
   AScore := '0' + AScore;
  end;
 // Wir füllen die fehlenden Stellen im Score mit 0 auf. Damit alle Scorewerte in der Tabelle später
 // gleich lang sind. So kommt das Programm beim Sortieren nicht durcheinander, und es sieht besser aus
 TempStrList := TStringList.Create;
 // Wir erstellen eine zweite temporäre Stringlist, in der wir dann sortieren
 try
  for i := 0 to HighScore.Count-1 do
   begin
    TempStrList.add(HighScore[i]);
   end;
  finally
   try
    TempStrList.add(AScore + ATrennzeichen + Name);
    TempStrList.Sort;
    //Sort ist eine sehr praktische Funktion der TStringList die wir benutzen
    HighScore.clear;
   finally
    try
     for i := (TempStrList.Count - 1) downto 0 do
      begin
       HighScore.add(TempStrList[i]);
      end;
      //hier fügen wir in umgekehrter Reihenfolgen die Werte aus der TempStringlist
      //in unsere HighScore Liste
      if csave=true then
       ForceDirectories('C:\Programme\Snake\');
      HighScore.SaveToFile(HighScorePfad); // Speichern nicht vergessen
   finally
    TempStrList.Free;
   end;
  end;
 end;
end;

ich müsste also beim schreiben die datei nochmal einlesen! und wie schieße ich sie beim start wieder?
einfach T:\...\highscore.dat.close ??
  Mit Zitat antworten Zitat
 


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 00:02 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