| Autor |
Beitrag |
Trunks
      
Beiträge: 62
winXP, win98, winME, debian, suse, maCoS, Symbian, WinCE
Delphi 7, Delhi 2006, c++, MySql, db2, php, js, java, c#, assembler,
|
Verfasst: Fr 15.07.05 10:49
hi,
hab da ein problem.
Ich hab ein genauen pfad einer datei, zbs.: C:\neu\test.exe.
Jetzt will den Namen der Datei ändern. also das test.exe in zbs.: test2.exe wie geht das? gib es da ein befehl wie zbs.: das der von hinten anfängt zu lesen und dann solange die zeichen in eine variable speichert bis das "\" kommt(also da stoppt).
Kennt ihr den Befehl oder gibt es da noch eine andere Lösung?
Thx schonmal
Moderiert von Tino: Überflüssige Zeilenumbrüche entfernt und Code-Tags hinzugefügt.
|
|
JayK
      
Beiträge: 1013
|
Verfasst: Fr 15.07.05 10:57
Trunks hat folgendes geschrieben: |
gib es da ein befehl wie zbs.: das der von hinten anfängt zu lesen und dann solange die zeichen in eine variable speichert bis das "\" kommt(also da stoppt).
Kennt ihr den Befehl oder gibt es da noch eine andere Lösung? |
Befehl kenn ich nicht. Ich musste das über eine Schleife lösen, als ich mal das letzte Komma in einem String haben wollte.
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| function LetztesZeichenPos(S: String; Zeichen: Char ): Cardinal; var i: Integer; begin for i := length(S) downto 1 do begin if copy(S, i, 1) = Zeichen then begin result := i; break; end; end; end; |
So in etwa...  So ermittelst du schonmal die Position des letzten Vorkommen eines Zeichens. Und alles was danach kommt kannst du dann in eine var speichern. Hab ich dich richtig verstanden?
|
|
Trunks 
      
Beiträge: 62
winXP, win98, winME, debian, suse, maCoS, Symbian, WinCE
Delphi 7, Delhi 2006, c++, MySql, db2, php, js, java, c#, assembler,
|
Verfasst: Fr 15.07.05 11:04
Hi,
das ist glaub ich nicht ganz das was ich brauche, aber trotzdem Danke.
Ich glaub ich sollte es mal übersichtlicher beschreiben
also: Ich habe ein Variable die heißt "verz_name" die ist String. und ist deklariert so
zbs.: verz_name="c:\neu\test.exe". Nun möchte ich dieser Dateiname test.exe anzeigen lassen, zbs.: in einer Tabelle. Aber was noch hinzukommt: Ich möchte gerne den Dateinamen ändern in der anwendung.
Ich denk mal das läuft so ab:
- Aus der variable den Dateinamen "rauskopieren"
- Den namen in eine Tabelle anzeigen lassen(oder Label)
- Den namen über ein edit feld ändern
- zum schluss nur noch speichern und schritt 2 refreshen.
Könnt ihr mir dabei helfen?
Moderiert von Tino: Überflüssige Zeilenumbrüche entfernt und Code- & List-Tags hinzugefügt.
|
|
jasocul
      
Beiträge: 6395
Erhaltene Danke: 149
Windows 7 + Windows 10
Sydney Prof + CE
|
Verfasst: Fr 15.07.05 11:09
Schau mal nach, ob nicht RenameFile das richtige für dich ist.
|
|
Tilman
      
Beiträge: 1405
Erhaltene Danke: 51
Win 7, Android
Turbo Delphi, Eclipse
|
Verfasst: Fr 15.07.05 11:24
Was das "rauskopieren" angeht, meinst du das:
Quelltext 1:
| dateiname = extractFileName("Datei mit Pfad"); |
|
|
Trunks 
      
Beiträge: 62
winXP, win98, winME, debian, suse, maCoS, Symbian, WinCE
Delphi 7, Delhi 2006, c++, MySql, db2, php, js, java, c#, assembler,
|
Verfasst: Fr 15.07.05 11:45
ok,
soweit hab ich es, danke
hab aber noch eine Frage. Wie kann ich Strings voneinander abziehen?
zbs:
Delphi-Quelltext 1: 2:
| i:='F:\neu\test.txt' i2:='test.txt'; |
und dann irgendwie i-i2 ??(geht glaub net aber gibt es da eine andere Lösung?)
Wie bekomm ich das jetzt hin dass ich automatisch das hier bekomm -> 'F:\neu\' ?? geht das?
Moderiert von Tino: Überflüssige Zeilenumbrüche entfernt und Delphi-Tags hinzugefügt.
|
|
Tilman
      
Beiträge: 1405
Erhaltene Danke: 51
Win 7, Android
Turbo Delphi, Eclipse
|
Verfasst: Fr 15.07.05 11:50
wenn du bloß den pfad willst extractFileDir. ansonsten solltest du dir mal length, copy und so weiter angucken in der delphi-hilfe.
Anmerkung:
extractFileName('F:\pfad\datei') liefert datei
extractFileDir('F:\pfad\datei') liefert F:\pfad
du musst also evtl. noch ein \ anhängen.
Moderiert von Tino: Delphi-Tags hinzugefügt.
|
|
jasocul
      
Beiträge: 6395
Erhaltene Danke: 149
Windows 7 + Windows 10
Sydney Prof + CE
|
Verfasst: Fr 15.07.05 11:53
Schau mal in der Hilfe unter ExtractFileDir, etc.
Wenn du dich mit String-Operationen mal genauer auseinandersetzen willst, dann sieh dir mal meine HoeePage an.
Da habe ich dem extra einen Bereich gewidmet.
|
|
Trunks 
      
Beiträge: 62
winXP, win98, winME, debian, suse, maCoS, Symbian, WinCE
Delphi 7, Delhi 2006, c++, MySql, db2, php, js, java, c#, assembler,
|
Verfasst: Fr 15.07.05 12:05
Ok, danke das hab ich jetzt auch.
Also wenn wir schon so nett hier alle in eine Runde sind, dann hab ich da noch ne Frage.
Ich hab ein StringGrid(also so ne art Tabelle). Auf die Felder in der Tabelle kann man ja druff klicke, ne. Wie kann ich das Abfragen auf welcher Zelle die maus geklickt hat? Also welche zelle momentan makiert ist?
geht das mit StringGrid oder muss ich eine andere Tabelle dazu nehmen?
Moderiert von Tino: Überflüssige Zeilenumbrüche.
|
|
jasocul
      
Beiträge: 6395
Erhaltene Danke: 149
Windows 7 + Windows 10
Sydney Prof + CE
|
Verfasst: Fr 15.07.05 12:11
Hi Trunks,
da du neu bist, der kurze Hinweis:
Neue Frage = Neues Topic.
Und nutze die Suchfunktion. Ich meine, dass das erst kürzlich besprochen wurde.
|
|
Trunks 
      
Beiträge: 62
winXP, win98, winME, debian, suse, maCoS, Symbian, WinCE
Delphi 7, Delhi 2006, c++, MySql, db2, php, js, java, c#, assembler,
|
Verfasst: Fr 15.07.05 12:11
ok ich habs, Danke an Alle 
|
|
Tilman
      
Beiträge: 1405
Erhaltene Danke: 51
Win 7, Android
Turbo Delphi, Eclipse
|
Verfasst: Fr 15.07.05 12:12
Nun,wenn du auf onSelectCell reagierst dann steht (wie du sehen dürftest) da ARow und ACol. Wie nicht anders zu erwarten beschreiben diese exakt das was du suchst 
|
|
Tino
      

Beiträge: 9839
Erhaltene Danke: 45
Windows 8.1
Delphi XE4
|
Verfasst: Fr 15.07.05 13:00
Hallo und  hier im Delphi-Forum.de!
Trunks hat folgendes geschrieben: | Also wenn wir schon so nett hier alle in eine Runde sind, dann hab ich da noch ne Frage. |
Erstelle für jede Frage ein neues Topic. Ansonsten lässt es sich nur schwer diskutieren. Danke! 
|
|
Dieses Thema ist gesperrt, Du kannst keine Beiträge editieren oder beantworten.
Das Thema wurde von einem Team-Mitglied geschlossen. Wenn du mit der Schließung des Themas nicht einverstanden bist, kontaktiere bitte das Team.
|
|