AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Hilfe: Infos gezielt aus einer Datei lesen&schreiben!
Thema durchsuchen
Ansicht
Themen-Optionen

Hilfe: Infos gezielt aus einer Datei lesen&schreiben!

Offene Frage von "ecspooky"
Ein Thema von ecspooky · begonnen am 17. Jun 2006 · letzter Beitrag vom 18. Jun 2006
Antwort Antwort
ecspooky

Registriert seit: 26. Mai 2004
16 Beiträge
 
#1

Hilfe: Infos gezielt aus einer Datei lesen&schreiben!

  Alt 17. Jun 2006, 11:23
Hallo Leute,
ich habe eine Datei wo Gruppenleiter drin stehen und dazu die jeweiligen User. Nun möchte ich gern das ein Gruppenleiter sich anmeldet am Programm und dort automatisch seine eingetragen User angezeigt werden. Außerdem soll er die Möglichkeit haben seiner Gruppe User zu löschen oder hinzuzufügen. Wie lese ich nun die Gruppenleiterzeile aus und auch die User?

Hab bis jetzt:

Zitat:
memo1.Lines.LoadFromFile(dateipfad);
aber da wird ja nur die ganze Datei angezeit.


Als Beispiel sieht die Datei so aus:
Zitat:
gruppenleiter_1::101:user1,user2,user10
gruppenleiter_2::102:user2,user10,user30
gruppenleiter_3::103:user1,user5,user34
Wäre supi wenn mir einer helfen könnte ) Vielen Dank schonmal!!!
mfg
ecspooky
  Mit Zitat antworten Zitat
ecspooky

Registriert seit: 26. Mai 2004
16 Beiträge
 
#2

Re: Hilfe: Infos gezielt aus einer Datei lesen&schreiben

  Alt 17. Jun 2006, 11:25
in einem anderen forum hab ich schon etwas hilfe dazu bekommen und hier hab ich mal mein programm hochgeladen. soweit bin ich schon aber ich weiß nun nicht wie ich die user einer gruppe hinzufügen oder löschen kann und das ganze beim beenden auch speichern kann.
Angehängte Dateien
Dateityp: rar projects_436.rar (173,1 KB, 7x aufgerufen)
mfg
ecspooky
  Mit Zitat antworten Zitat
Klaus01

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

Re: Hilfe: Infos gezielt aus einer Datei lesen&schreiben

  Alt 17. Jun 2006, 15:10
Hallo ecspooky,

wenn Du die Daten einer Zeile ändern willst, d.h. einem Gruppenleiter user hinzufügen
oder entfernen, musst Du die Datei neu schreiben.
Also eine DummyDatei erstellen, alle Zeile bis zu der veränderten Zeile in die
DummyDatei schreiben - dann die veränderte Zeile hineinschreibenund dann anschließend
den ganzen Rest.

Du siehst also, so ein Art Datenbank mit einer TextDatei aufzubauen ist von der
Handhabung nicht so einfach.

Alterantiv könntest Du eine Inidatei (TIniFile oder TMemIniFile) erstellen
pro Gruppenleiter eine Section erstellen und als Key eine Zeile mit den Usern.
Die IniDatei sieht dann ungefähr so aus.

[Name_GrpLtr1]
users = user1, user2, user3

[Name_GrpLtr2]
users = user4, user5

Mit den Methoden von TIniFile kannst Du dann direkt
die User eines Gruppenleiters auslesen und auch wieder zurückschreiben.
Um TIniFile besser kennenzulernen, kannst Du mal ein wenig in der OnlineHilfe herumstöbern.

Eine weitere Alternative wäre, das ganze Datensatzorientiert aufzuziehen.
d.h. Du hast pro Gruppenleiter einen Datensatz.

Delphi-Quellcode:
TGruppenLeiter = record
  name : String[20];
  users : String[255];
end;
Die Datei wäre dann ein

DataFile : File of TGruppenLeiter; ein Datensatz wäre

DataSet : TGruppenleiter; auf die Datei kannst Du so zugreifen:

AssignFile(DataFile,'deinDateiName');
Reset(DataFile);
Read(DataFile,Dataset);

Der Gruppenleitername steht dann in

DataSet.name

die User in

DataSet.users

Wenn Du die User eines Gruppenleiters änderst

Kannst Du sie mit

Write(DataFile,DataSet) wieder zurückschreiben.
In der Datensatzorientierten Datei
kannst Du mit FilePos(DataFile) und Seek(DataFile,DatenSatzNummer) navigieren.

Du mußt allerdings auch die Datei umkopieren
wenn Du einen Datensatz löschen willst.

Hoffe, habe Dich nun nicht zuviel verwirrt.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Hobby-Programmierer

Registriert seit: 19. Jan 2006
Ort: München
392 Beiträge
 
Delphi XE Starter
 
#4

Re: Hilfe: Infos gezielt aus einer Datei lesen&schreiben

  Alt 17. Jun 2006, 16:03
Tach ...,
Zitat von Klaus01:
Eine weitere Alternative wäre, das ganze Datensatzorientiert aufzuziehen.
d.h. Du hast pro Gruppenleiter einen Datensatz.

Delphi-Quellcode:
TGruppenLeiter = record
  name : String[20];
  users : String[255];
end;
Du mußt allerdings auch die Datei umkopieren
wenn Du einen Datensatz löschen willst.
Ich kann mich Klaus nur anschliessen in puncto typisierter Datei mittels Record. Allerdings würde ich den record etwas anders organisieren.
Delphi-Quellcode:
TGruppenLeiter = record
  aktiv : Boolean;
  name : String[20];
  users : String[255];
end;
Vorteil ist das ein 'Löschbit' gesetzt werden kann, d.h. beim einlesen der Datensätze können die 'inaktiven' einfach ignoriert werden. Die Datenbank, soweit man das so nennen kann , muss nicht jedesmal reorganisiert werden.

@ecspooky
Ich habe irgendwo auf Platte ein Super-Tutorial über typisierte Dateien. Solltest Du interesse haben such ich das gerne für Dich raus.

LG Mario
Mario
  Mit Zitat antworten Zitat
Benutzerbild von vlees91
vlees91

Registriert seit: 19. Apr 2004
843 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Hilfe: Infos gezielt aus einer Datei lesen&schreiben

  Alt 17. Jun 2006, 16:07
Zitat von Hobby-Programmierer:
Ich habe irgendwo auf Platte ein Super-Tutorial über typisierte Dateien. Solltest Du interesse haben such ich das gerne für Dich raus.
hi
Ich bin zwar nicht ecspooky, aber es wäre sehr nett, wenn du das Tut raussuchen würdest
vlees91
  Mit Zitat antworten Zitat
Hobby-Programmierer

Registriert seit: 19. Jan 2006
Ort: München
392 Beiträge
 
Delphi XE Starter
 
#6

Re: Hilfe: Infos gezielt aus einer Datei lesen&schreiben

  Alt 18. Jun 2006, 21:20
Nabend @vlees91 ...,
hab das zwar bei mir nimmer gefunden aber ich wusste ja wo ich es her hatte.
Typisierte Dateien von Martin Strohal
Ist auf jeden Fall zu empfehlen, viel Spass beim lesen

LG Mario
Mario
  Mit Zitat antworten Zitat
Antwort Antwort


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 18:15 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