Delphi-PRAXiS
Seite 2 von 3     12 3      

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 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


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:52 Uhr.
Seite 2 von 3     12 3      

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