AGB  ·  Datenschutz  ·  Impressum  







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

Datei öffnen ...

Ein Thema von sharkx · begonnen am 23. Okt 2003 · letzter Beitrag vom 29. Okt 2003
Antwort Antwort
Seite 1 von 2  1 2      
sharkx

Registriert seit: 25. Feb 2003
Ort: St. Ingbert
211 Beiträge
 
Delphi 7 Enterprise
 
#1

Datei öffnen ...

  Alt 23. Okt 2003, 13:34
Hallo,

ich möchte eine, die bereits von einem anderen Programm genutzt wird, simple Text Datei öffnen.
Aus dieser Textdatei suche ich nach bestimmten Strings mit Pos(). Diese wiederum trage ich dann in eine ListView ein. Gelöst habe ich das ganze zur Zeit mit

Code:
var
 list : TStrings;
begin
 list.LoadFromFile(path);
 .....
Dieses jedoch lässt mich die Datei nicht öffnen, wenn sie von einem anderen Programm zur Zeit genutzt wird. Das ist aber leider bei der file die ich öffnen mag immer der Fall. Um genau zu sein, das ist eine Log Datei von mirc, die auch ständig offen ist, jedoch muss ich sie auch in meinem Programm öffnen können.

thanks für die hilfe :-)
Programming today is a race between Software Engineers striving to build bigger and better idiot-proof Programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning!
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.117 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Datei öffnen ...

  Alt 23. Okt 2003, 13:43
Moin Sharkx,

zum einen:
Nimm mal statt TStrings lieber TStringList.
TStrings ist eine abstrakte Klasse, die man nur als Basisklasse für andere verwenden, und keine Instanzen davon bilden sollte.

Wenn die Datei von dem Programm mit exklusiven Zugriff geöffnet wurde, wirst Du wohl Pech haben.
Hast Du mal versucht, die Datei zu kopieren (SHFileOperationSHFileOperation), während sie geöffnet war? (ich geh' mal davon aus, dass das auch nicht funktioniert, aber den versuch wäre es Wert).
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
sharkx

Registriert seit: 25. Feb 2003
Ort: St. Ingbert
211 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Datei öffnen ...

  Alt 23. Okt 2003, 14:03
Die Datei muss sich aber auch so irgendwie öffnen lassen, jedenfalls kann es so ziemlich jeder text editor ja auch ( Ultraedit, Cooledit etc. )
Programming today is a race between Software Engineers striving to build bigger and better idiot-proof Programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning!
  Mit Zitat antworten Zitat
Tom

Registriert seit: 8. Jan 2003
318 Beiträge
 
RAD-Studio 2009 Pro
 
#4

Re: Datei öffnen ...

  Alt 23. Okt 2003, 14:06
Gesperrt ist gesperrt. Da hilft auch kein guter Editor. Die von Christian vorgeschlagene Kopie sollte funktionieren. Ggf. mal im Explorer testen, ob sich die Datei trotz Sperrung kopieren läßt.
  Mit Zitat antworten Zitat
sharkx

Registriert seit: 25. Feb 2003
Ort: St. Ingbert
211 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Datei öffnen ...

  Alt 23. Okt 2003, 14:11
Wie gesagt, ich kann die datei mit jeglichem Editor auf meinem Sys auch dann öffnen, wenn sie ein anderes programm benutzt. So muss es auch ne lösung geben ;P
Programming today is a race between Software Engineers striving to build bigger and better idiot-proof Programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning!
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#6

Re: Datei öffnen ...

  Alt 23. Okt 2003, 14:12
Versuchs mal mit nem TFileStream und den Optionen fmOpenRead or fmShareDenyNone beim Erstellen der Stream Instanz.

Mfg
mirage228
David F.
  Mit Zitat antworten Zitat
Tom

Registriert seit: 8. Jan 2003
318 Beiträge
 
RAD-Studio 2009 Pro
 
#7

Re: Datei öffnen ...

  Alt 23. Okt 2003, 14:14
Zitat von sharkx:
So muss es auch ne lösung geben ;P
Wie sieht denn Dein bisheriger Versuch aus? Der Source aus dem 1. Beitrag kann es ja nicht sein ...
  Mit Zitat antworten Zitat
sharkx

Registriert seit: 25. Feb 2003
Ort: St. Ingbert
211 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: Datei öffnen ...

  Alt 29. Okt 2003, 13:12
So .. da dieses Problem noch immer besteht, schieb ich mal den tread hier etwas nach oben.

Wir hatten auch schon hier drüber disktutiert - brachte aber auch keine wirkliche lösung.

Aber ne nette Idee habe ich dazu - mag vllt einfacher sein.

Da ich auf einen bestimmten Satz im mIRC reagieren möchte, habe ich das im Moment mit dem auslesen der Log (aktuell beschriebene log lässt sich nicht öffnen) gelöst.
Nun kann ich aber doch auch, den aktuell gewollten Satz von mIRc aus gleich als Parameter an mein programm übergeben. Jedoch wird der Parameter etwa alle 10 sec. an das Programm gesendet, nun mag ich ja auch nicht das sich das programm dann alle 10 sec. neu öffnet.

Mag es nun die bessere Lösung sein die mIRC Log zu parsen, oder den Parameter von mIRC gleich zu übergeben? Und wie stell ich das am besten an, das sich mein Programm dann nicht immer wieder öffnet. Ich möcht gleich dazu sagen, mit Parameterübergabe oder DLL habe ich noch nie was gemacht :/
Programming today is a race between Software Engineers striving to build bigger and better idiot-proof Programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning!
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.117 Beiträge
 
Delphi 11 Alexandria
 
#9

Re: Datei öffnen ...

  Alt 29. Okt 2003, 13:36
Moin Sharkx,

Dein Programm muss sich auch nicht alle 10 sek. neu öffnen.

Ich hatte in diesem Thread
Mit Mehreren Datein ein Program Starten
mal ein Demoprogramm gepostest, wie man neue Parameter an die gleiche laufende Instanz eines Programmes übergibt.
Lass Dich nicht davon stören, dass es hier um Dateien ging, da diese ja auch nur als Pfade übergeben werden geht's nur um die Parameter. Welche Bedeutung sie für das Programm haben ist eine andere Sache.

Aber nur um das noch einmal genau zu verstehen:
Während mIRC auf die Datei zugreift, kannst Du mit einem Editor auch auf die Datei zugreifen?

Dann könntest Du noch einmal zwei Dinge versuchen:
  1. Kannst Du die Datei mit TFileStream.Create(...,fmOpenRead) öffnen?
  2. Sollte 1. fehlschlagen: Kannst Du die Datei mit CreateFile öffnen, wenn Du für den Parameter dwDesiredAccess FILE_READ_DATA, und für dwShareMode FILE_SHARE_READ angibst?
    Unter NT/2000/XP könnte beim Parameter dwFlagsAndAttributes noch FILE_FLAG_BACKUP_SEMANTICS hinzugefügt werden.

@Mirage:
Zitat von mirage228:
Versuchs mal mit nem TFileStream und den Optionen fmOpenRead or fmShareDenyNone beim Erstellen der Stream Instanz.
Das wird nichts helfen können, da das genau die Angaben sind, mit denen LoadFromFile arbeitet, was ja nicht funktioniert.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
sharkx

Registriert seit: 25. Feb 2003
Ort: St. Ingbert
211 Beiträge
 
Delphi 7 Enterprise
 
#10

Re: Datei öffnen ...

  Alt 29. Okt 2003, 13:46
Hallo Christian,

Wenn mIRC läuft kann ich ohne weiteres mit UltraEdit auf die datei zugreifen.

Mit TFileStream.Create(file, fmOpenRead) kann ich die Datei auch nicht öffnen, kommt der gleiche Fehler.

Vorschlag Nr2. kann ich von hier aus nun nicht testen, werde ich aber sobald ich nach hause komme.

Das beispiel von dir werd ich mir auch ansehen, mag vieleicht doch die bessere Lösung sein.
Programming today is a race between Software Engineers striving to build bigger and better idiot-proof Programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 20:42 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