Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi .mdb als Textdatei öffnen (https://www.delphipraxis.net/146305-mdb-als-textdatei-oeffnen.html)

stho 17. Jan 2010 17:07

Datenbank: keine • Zugriff über: Unklar

.mdb als Textdatei öffnen
 
Hallo Liebe DP

Ich wende mich mit einem Problem an euch und hoffe das ihr mir helfen könnt
Ich möchte eine .mdb datei als Textdatei öffnen.
Wie kann ich das machen?
Ich bin leider im moment etwas Ratlos...
Bitte gebt mir doch einen denkanstoß.

Achso, für den Hintergrund:
ich möchte ein Programm schreiben was das ICQ-Passwort welchen auf meinem PC gespeichert ist, wiederherstellt.
Dieses ist in der Owner.mdb als Wert gespeichert.


Vielen Dank schonmal :-)

Sir Rufo 17. Jan 2010 17:10

Re: .mdb als Textdatei öffnen
 
Editor starten (der normale Texteditor)
"Datei-Öffnen" ... die Datei auswählen und OK

Noch schöner kann man es mit [google]Notepad++[/google] machen ...

... aber ob du das Kennwort da im Klartext findest ist fraglich :mrgreen:

stho 17. Jan 2010 17:12

Re: .mdb als Textdatei öffnen
 
ich weiß das es mit dem Notepad geht ;-)
gefunden und erfolgreich entschlüsselt habe ichs auch.

Aber es geht mir ja darum das ich das ganze in delphi mache sonst würde ich nicht in diesem forum schreiben ;-)

Sir Rufo 17. Jan 2010 17:18

Re: .mdb als Textdatei öffnen
 
Na dann brauchst du doch kein Programm mehr dafür :mrgreen:

Oder ist bei Dir schon die Hildesheimer ausgebrochen (da vergisst man nur die Hälfte)?

stho 17. Jan 2010 18:01

Re: .mdb als Textdatei öffnen
 
nun, es ist komfortabler ein programm drüber laufen zu lassen als 56 Mb textdatei durch zu suchen, den text zu kopieren und durch 2 andere programme zu jagen ;-)

Also: ich suche noch immer eine Lösung...

himitsu 17. Jan 2010 18:07

Re: .mdb als Textdatei öffnen
 
Dann lad die Datei in einen Stream oder eine StringList und laß das Programm darin suchen.

stho 17. Jan 2010 18:17

Re: .mdb als Textdatei öffnen
 
Stringlist klappt bei mir nicht :-(
der läd bei mir dann garnix in die liste...

und das mit dem stream verstehe ich nicht ganz...
Delphi-Quellcode:

 mystream : TFileStream;
begin

  mystream := TFileStream.Create('C:\Dokumente und Einstellungen\Administrator\Anwendungsdaten\ICQ\*UIN*\Owner.mdb', fmOpenRead);
  memo1.Lines := mystream. //WAS HIER????
  mystream.Free;

himitsu 17. Jan 2010 18:29

Re: .mdb als Textdatei öffnen
 
Sonderzeichen in der Datei (voallem dieböse #0) verhindert ein direktes Laden in eine Stringliste.
Bei #0 wird ja bekanntlich abgebrochen.

stho 17. Jan 2010 18:31

Re: .mdb als Textdatei öffnen
 
nun, das ist für mich gut zu wissen :-)
Also kann ich keine TStringList oder TStrings mit meiner Datei füllen?

Nun, wie durchsuche ich die Datei statdessen nach einer bestimmten Zeichenkette? o.O
Oder wie lade ich sie erstmal in meinen Stream?

Ja, ich weiß, fragen über fragen...

Sir Rufo 17. Jan 2010 18:54

Re: .mdb als Textdatei öffnen
 
die forum-suche sagt dazu: Hier im Forum suchenstream durchsuchen (17 Treffer - davon sehen 2 sehr gut aus)

stho 17. Jan 2010 19:11

Re: .mdb als Textdatei öffnen
 
ich möchte ja nicht undankbar erscheinen aber es kommt mir so vor als würdet ihr mir alle nicht auf meine fragen antworten -.-
und ja, die forensuche habe ich bereuts benutzt und auch (für den fall das es noch kommt) das tutorial auf Delphi-treff durchgelesen...
ich erstelle für gewöhnlich nur nur dann threads wenn ich keine antworten in der SuFu gefunden habe...

achja, und 2 Monate die Stream-Klasse wollte ich nicht studieren, nur um 2 oder 3 aufrufe zu erhalten :?


also bitte:

1. Wie lade ich eine Datei in einen Stream?
2. Wie suche ich in einem Stream nach einer bestimmten Zeichenfolge?
3. Wie Kopiere ich aus dem Stream heraus? (so das das Ergebnis als String genutzt werden kann)


ich möchte definitiv nicht undankbar oder frech erscheinen. wenn ich es tun sollte entschuldige ich mich.
aber ich frage euch ja nicht nach einer kompletten klasse oder danach das ihr meine Hausaufgaben macht.
ich benötige nur eine Hilfestellung in einer Situation in der ich nicht weiter komme...

Sir Rufo 17. Jan 2010 19:16

Re: .mdb als Textdatei öffnen
 
Frage 1 und 2 wird hier doch mundgerecht beantwortet Datei nach String durchsuchen oder wat?

himitsu 17. Jan 2010 19:17

Re: .mdb als Textdatei öffnen
 
1. hast du vorhin schon selber gemacht (TFileStream.Create)
2. siehe Post #10
3. siehe Post #10 (versteckt sich oft in den selben Threads)

Zitat:

ich möchte ja nicht undankbar erscheinen
Du schreibst das Programm
und wir geben nur Hilfe/Tipps.

stho 17. Jan 2010 19:23

Re: .mdb als Textdatei öffnen
 
@ Sir Rufo
glaubst du ich würde einen roman verfassen wenn ich es verstanden hätte?
somit mundgerechte gegenantwort: -> NEIN

@ himitsu
ich glaube nicht das das was ich gemacht habe funktioniert...
56 MB in einen stream zu laden dauert beim test etwa 1 sec.
Aber da mir das TUT auf Delphi-Treff sagt das ein stream daten byte für byte einliest weiß ich nicht wie ich am ende einen string raus bekomme :?

Achja, wie bereits erwähnt habe ich die SUFU genutzt und bin trotzdem noch nicht schlauer geworden -.-

natürlich schreibe ich das programm selber. und mir ist auch bewusst das ihr tipps gebt.
dafür bin ich dankbar aber mit den aktuellen tipps komme ich einfach nicht weiter...

phreax 17. Jan 2010 19:28

Re: .mdb als Textdatei öffnen
 
Du hast Glück das ich gerade nach Ausreden suche, nichts für die Uni zu tun ;)
Delphi-Quellcode:
procedure FindStringinFile(const FName, S: string);
var
  temp: string;
  FS: TFileStream;
begin
  if Length(S) = 0 then Exit;
  FS := TFileStream.Create(FName, fmOpenRead);
  try
    FS.Position := 0;
    SetLength(temp,1);
    while FS.Position <= FS.Size - Length(S) do
    begin
      FS.Read(temp[1],1);
      if temp[1] = S[1] then
        begin
          SetLength(temp,Length(S));
          FS.Read(temp[2],Length(S)-1);
          if temp=S then
          begin
            ShowMessage('Gefunden!');
          end;
        end;
    end;
  finally
    FS.Free;
  end;
end;
Nach dem selben Schema kannst Du dann auch hinter dem gesuchten String befindliche Daten auslesen...

mfg
phreax

@himitsu und sir rufo, tut mir Leid wenn ich eure Erziehungsversuche boykottiere, aber nachdem ich den Code nun schon geschrieben habe :stupid:

EDIT: eine Restvariable entfernt

stho 17. Jan 2010 19:35

Re: .mdb als Textdatei öffnen
 
Zitat:

Zitat von phreax
Du hast Glück das ich gerade nach Ausreden suche, nichts für die Uni zu tun ;)
Delphi-Quellcode:
procedure FindStringinFile(const FName, S: string);
var
  temp: string;
  FS: TFileStream;
begin
  if Length(S) = 0 then Exit;
  FS := TFileStream.Create(FName, fmOpenRead);
  try
    FS.Position := 0;
    SetLength(temp,1);
    while FS.Position <= FS.Size - Length(S) do
    begin
      FS.Read(temp[1],1);
      if temp[1] = S[1] then
        begin
          SetLength(temp,Length(S));
          FS.Read(temp[2],Length(S)-1);
          if temp=S then
          begin
            ShowMessage('Gefunden!');
          end;
        end;
    end;
  finally
    FS.Free;
  end;
end;
Nach dem selben Schema kannst Du dann auch hinter dem gesuchten String befindliche Daten auslesen...

mfg
phreax

@himitsu und sir rufo, tut mir Leid wenn ich eure Erziehungsversuche boykottiere, aber nachdem ich den Code nun schon geschrieben habe :stupid:

EDIT: eine Restvariable entfernt

Ich liebe dich!!!!!!
Ja, das ist Code den sogar ICH verstehe :mrgreen: *freuuuu*
Vielen Dank :-) ich hoffe das ich damit dann zu meinem Ziel gelangen werde ^^

Mithrandir 18. Jan 2010 08:36

Re: .mdb als Textdatei öffnen
 
Zitat:

Zitat von stho
ich weiß das es mit dem Notepad geht ;-)
gefunden und erfolgreich entschlüsselt habe ichs auch.

Zitat:

Zitat von stho
nun, es ist komfortabler ein programm drüber laufen zu lassen als 56 Mb textdatei durch zu suchen, den text zu kopieren und durch 2 andere programme zu jagen

Warum spielst du nicht mit offenen Karten, und sagst gleich, dass du n Passwort-Sniffer für ICQ schreiben willst? Und in ner Woche sieht man dann auf irgendeiner 'l33th4x0r'-Seite das dreimillionste Programm dieser Sorte, wobei es dann wahrscheinlich das 2.999.999ste ist, dass mit Delphi geschrieben wurde. Und so wird Delphi seinem Ruf als Skriptkiddie-Sprache wieder gerecht. Zumal du hier verwundernswerter Weise auch noch alles vorgekaut bekommst.

Ich könnte brechen bei soviel Dreistigkeit...

stho 18. Jan 2010 09:27

Re: .mdb als Textdatei öffnen
 
Zitat:

Zitat von Daniel G
Zitat:

Zitat von stho
ich weiß das es mit dem Notepad geht ;-)
gefunden und erfolgreich entschlüsselt habe ichs auch.

Zitat:

Zitat von stho
nun, es ist komfortabler ein programm drüber laufen zu lassen als 56 Mb textdatei durch zu suchen, den text zu kopieren und durch 2 andere programme zu jagen

Warum spielst du nicht mit offenen Karten, und sagst gleich, dass du n Passwort-Sniffer für ICQ schreiben willst? Und in ner Woche sieht man dann auf irgendeiner 'l33th4x0r'-Seite das dreimillionste Programm dieser Sorte, wobei es dann wahrscheinlich das 2.999.999ste ist, dass mit Delphi geschrieben wurde. Und so wird Delphi seinem Ruf als Skriptkiddie-Sprache wieder gerecht. Zumal du hier verwundernswerter Weise auch noch alles vorgekaut bekommst.

Ich könnte brechen bei soviel Dreistigkeit...



stimmt, ich könnte auch brechen vor so viel dreistigkeit ;-)
wo liegt das problem das EIGENE PW aus einer MDB datei zu extrahieren?!
WO liegt das problem?
Glaubst du alles wird illegal benutzt? und nur weil ich so nen tool schreiben will habe ich noch lange keinen ICQ-sniffer -.-

klar, man kann das tool bestimmt irgendwie illegal benutzen.

aber werden deshalb auch alle taschenmesser oder küchenmesser verboten, nur weil man sie zu illegalen zwecken benutzen kann?

Und wieso wird nicht gleich die komplette IDE verboten? man könnte damit ja sowas proggen -.-



sorry aber für so ne unqualifizierte aussage hab ich echt kein verständniss -.-

p80286 18. Jan 2010 09:54

Re: .mdb als Textdatei öffnen
 
Nu aber mal piano.

eine .mdb-Datei ist nun einmal keine Textdatei, daher könnte es schon schwer fallen die enthaltenen Daten als Strings zu betrachten, (und in eine Stringliste zu laden).

Wie wär es denn die Daten in einer Datei einfach mal als Abfolge von Bytes zu betrachten?
Ggf. muß man die Betrachtung der Datei ja auch auf 16 oder 32Bit Strukturen erweitern?

Und falls es sich noch nicht herum gesprochen hat:
Ein String ist die Interpretation einer Abfolge von Werten. Je nachdem aus welcher Ecke man kommt (Pascal oder C) gibt es da unterschiedliche Auffassungen. Durch die Verwendung von 16Bit-Werten für die Char die einen String bilden ist es nicht eindeutiger geworden.

Bevor hier irgendwelche Emotionen aufgepeitscht werden, erst einmal in Ruhe über die Fragestellung nachdenken, und ggf. auch überlegen was hinter den Antworten stecken könnte.

Gruß
K-H

stho 18. Jan 2010 10:05

Re: .mdb als Textdatei öffnen
 
Zitat:

Zitat von p80286
Wie wär es denn die Daten in einer Datei einfach mal als Abfolge von Bytes zu betrachten?
Ggf. muß man die Betrachtung der Datei ja auch auf 16 oder 32Bit Strukturen erweitern?

nun, das ist natürlich eine gute idee ^^ zumindest klingt es so...
aber da ich mit streams (wie sicherlich erkannt werden sollte) nicht so viel ahnung habe wird es schwer für mich das ohne hilfe um zu setzen... :gruebel:

ja, was die emotionen betrifft hast du recht. ich finde nur gleich solche vorwürfe zu erhalten ist auch nicht der richtige weg...
und man muss ja nicht in jedem der proggen lernen will gleich einen terrorist sehen... das ist zumindest meine meinung.

ja, der unterschied von C zu Pascal ist mir schon bewusst. aber dann komme ich eher aus der Pascal-schiene ^^
Die bearbeitung von strings in C als eigene Klasse ist nicht so verständlich für mich.


aber nun, wie lese ich die daten denn in einer der oben genannten struktur ein? :?


Liebe Grüße
stho

Mithrandir 18. Jan 2010 11:17

Re: .mdb als Textdatei öffnen
 
Zitat:

Zitat von stho
sorry aber für so ne unqualifizierte aussage hab ich echt kein verständniss -.-

Das habe ich von dir auch nicht erwartet. Ich frage mich nur, warum du auf Biegen und Brechen ein Programm schreiben willst, wenn du das Passwort schon längst wieder hast. Vergisst du das sooft? Dann solltest du dir vielleicht ein anderes zulegen, was man sich besser merken kann.

Aber ok, hier wird offensichtlich mit zweierlei Maß gemessen. Das nehme ich als gegeben hin; aber Verständnis habe ich dafür nicht.

stho 18. Jan 2010 11:20

Re: .mdb als Textdatei öffnen
 
verständniss verlangt ja auch keiner.
und ja, das Passwort habe ich wieder.
Und weiterhin, ja es gibt bereits ein programm das den zweck erfüllen würde...

aber ich möchte das auf biegen und brechen weil ich nicht so schnell aufgeben will.
mein wunsch ist es einfach solch ein programm zu schreiben...


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:19 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