AGB  ·  Datenschutz  ·  Impressum  







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

Datei Frei geben

Ein Thema von Timbuktu · begonnen am 2. Jun 2010 · letzter Beitrag vom 2. Jun 2010
 
Benutzerbild von Timbuktu
Timbuktu

Registriert seit: 5. Aug 2009
Ort: Dornbusch
14 Beiträge
 
Delphi 7 Professional
 
#1

Datei Frei geben

  Alt 2. Jun 2010, 07:37
Datenbank: .txt Dateien • Zugriff über: Delphi? oO
Guten Morgen liebe DelphiPraxis Member ^^

Ich hab hier ein kleines Problem, an dem ich mir schon seit längerem die Zähne ausbeiße und einfach keine Lösung finde. Ich hab auch schon in der Suche gesucht ohne Ende, aber einfach nichts helfendes gefunden.
Mein Problem ist, das ich mit folgendem Befehl eine txt-Datei erstelle, falls noch keine Vorhanden ist. Das funktioniert auch einwandfrei. Aber wenn ich mit einem anderen Befehl auf die txt-Datei zugreife kommt immer eine Win32 Fehlermeldung. Auch wenn ich normal über Windows die Datei öffnen will, kommt immer eine Meldung, das die Datei gerade wo anders geöffnet ist. Erst wenn ich das Programm geschloßen und neu gestartet habe kann ich auf die txt-Datei zugreifen.


Hiermit erstelle ich die txt-Datei und will Sie damit nachher auch wieder Auslesen
Delphi-Quellcode:
const LDB : String = 'LampenDB.txt';

function Auslesen(Datenbank: string):TStringArray;
var f: Textfile;
    a, Auswertung: integer;
    Zeile: TStringArray;
    Path: String;
begin
  Zeile:= Nil;
  Path:= extractfilepath(paramStr(0)) + 'LampenDB\';
  if DirectoryExists(Path) = False then //Wenn Pfad nicht angelegt ist
  begin
    CreateDir(Path);
    Auswertung:= FileCreate(Path + Datenbank);
    CreateDir(Path + 'Pics\');
    if Auswertung = -1 then
    begin
      ShowMessage('Datenbank konnt nicht erstellt werden.' + #13#10 + 'Eine Lösung wäre vielleicht, das Programm als Administrator zu starten.');
    end;
    //hier die erstellte LampenDB.txt wieder frei geben?
    Exit;
  end;
  Path:= Path + Datenbank;

  AssignFile(f,Path); //Die daten aus dem Dokument werden in die Variable f "geschoben"
  reset(f); //Geht an anfang der variable f
  A:= 0;
  while not EOF(f) do //wenn nicht das ende vom dokument erreicht ist, dann
  begin
    Setlength(Zeile,A+1);
    readln(f,Zeile[A]);
    if Zeile[A] <> 'then
      A:= A + 1;
  end;

  CloseFile(f); //schließt das dokument wieder

  result := Zeile;
end;
Ich hab nicht sooo die Ahnung von Delphi, da ich programmieren ja erst in der Ausbildung angefangen hab ^^
Vielen Dank schonmal für die Hilfe

MfG
Timbuktu
Tim
  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 02:22 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