Zum Inhalt springen

Delphi: Teilstring auslesen


Saga

Empfohlene Beiträge

Hallo zusammen,

auch wenn's wahrscheinlich eine popelige Angelegenheit ist...aber ich bin nun mal Delphi-Anfänger und mir rauchen schon die Finger vom "Delphi-Kochbuch" wühlen.

Also, folgendes Problemchen:

Ich habe z.B. eine Datei die "Anreiseliste.rpt" heisst. In meiner Tabelle will ich den Namen des Berichts -nämlich "Anreiseliste"- speichern, das Dateiformat interessiert mich dabei herzlich wenig. Wie schaffe ich es, den String so auseinander zu nehmen, dass ich nur noch den Text vor dem ".rpt" übrig habe?

Wär nett wenn's jemand weiss...ich geh jetzt Wasser holen und lösche den Kabelbrand im Gehirn. ;):D

Bye,

Saga

Link zu diesem Kommentar
Auf anderen Seiten teilen

äh, war das nicht gerade vollkomener Quatsch ?

Sollte es nicht eher

Name := Copy(Dateiname, 1, Pos('.', Dateiname))

sein ?

Mit

Datei := Copy(Dateiname, Pos('.', Dateiname), Length(Dateiname) - Pos('.', Dateiname)

kopierst du von der Stelle '.' bis zur Stelle (Länge des Strings-Stelle'.'),

also z.B. beim String 'Irgendwas.abc' würdest du von der Stelle 10 '.' bis zur Stelle 3 'g' kopieren (Falls er rückwärts überhaupt kopiert)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Original geschrieben von Executioner

Oh Sorry, hab zu schnell geantwortet. Es sollte natürlich Copy(Dateiname, 1, Pos('.', Dateiname) heißen. Mein Beispiel gibt nur die Dateierweiterung zurück. Sorry nochmal.

aber auch dann wäre copy(Dateiname, Pos('.', Dateiname), Length(Dateiname)) weniger kompliziert gewesen und hätte das richtige Ergebnis gebracht :D :D :D

Link zu diesem Kommentar
Auf anderen Seiten teilen

Also meine Lösung schaut jetzt so aus:

Copy(Dateiname,1,length(Dateiname)-length(ExtractFileExt))

Bei dem Ansatz mit Pos('.',Dateiname) etc. hatte ich das Problem, dass er mir nur die Dateiendung in das Feld geschrieben hat.

Man kann sich jetzt drüber streiten ob das so umständlich ist oder nicht, aber so funktioniert's mal. ;)

Euch allen danke für die Hilfe!! :)

Bye,

Saga

Link zu diesem Kommentar
Auf anderen Seiten teilen

Original geschrieben von Olli_Master

Such mal in der Hilfe nach der Funktion ExtractFileName(...). Die ist für soetwas da - ganz ohne stress.

Mit der arbeite ich ohnehin schon, weil der Dateiname aus nem OpenDialog heraus in die Tabelle geschrieben wird. Aber danke für den Tipp! :)

Bye,

Saga

Link zu diesem Kommentar
Auf anderen Seiten teilen

Mal noch was anderes:

Ich hab ne Tabelle in der ich Gruppen anlege, denen unsere Kunden zugeordnet werden. Für die Kunden existiert ein extra Verzeichnis in dem deren Berichte etc. abgelegt sind. Jetzt will ich jedes Mal wenn eine Gruppe neu angelegt wird in dem Verzeichnis auch einen neuen Unterordner mit dem Gruppennamen anlegen. Frage: Wie setzt man sowas um? Und kann ich das auf das After-Insert-Ereignis der DBGrid legen?

Bye,

Saga

Link zu diesem Kommentar
Auf anderen Seiten teilen

Original geschrieben von Saga

Und kann ich das auf das After-Insert-Ereignis der DBGrid legen?

Das After-Inser-Event müsste ausgelöst werden, nachdem du eine neue Zeile im Grid angelegt hast. Das Problem : In dem Moment hast du noch keine Daten. Dementsprechend kannst du diese Sache dort nicht lösen.

Eventuell könnte es im After-Append-Event klappen, das weiß ich aber so jetzt nicht.

Du kannst allerdings nachprüfen, wann ein Event ausgelöst wird, indem du es per Doppelklick erstellst, zwischen "begin" und "end" einen Kommentar einfügst ("//" reicht) und dann einen Haltepunkt auf "begin" legst.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Original geschrieben von elpedre

Das After-Inser-Event müsste ausgelöst werden, nachdem du eine neue Zeile im Grid angelegt hast. Das Problem : In dem Moment hast du noch keine Daten.

Ich werd's auf das After-Post-Ereignis legen. Hatte da nen kleinen Denkfehler...ich hab nicht daran gedacht, dass man den Insert ja in dem Moment macht, in dem man beim Navigator auf das + klickt. *peinlich*

Danke euch beiden! :)

Bye,

Saga

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...