Autor Beitrag
Trunks
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 62

winXP, win98, winME, debian, suse, maCoS, Symbian, WinCE
Delphi 7, Delhi 2006, c++, MySql, db2, php, js, java, c#, assembler,
BeitragVerfasst: 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 user profile iconTino: Überflüssige Zeilenumbrüche entfernt und Code-Tags hinzugefügt.
JayK
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1013



BeitragVerfasst: Fr 15.07.05 10:57 
user profile iconTrunks 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.
ausblenden 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 62

winXP, win98, winME, debian, suse, maCoS, Symbian, WinCE
Delphi 7, Delhi 2006, c++, MySql, db2, php, js, java, c#, assembler,
BeitragVerfasst: 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 :oops:

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:
  1. Aus der variable den Dateinamen "rauskopieren"
  2. Den namen in eine Tabelle anzeigen lassen(oder Label)
  3. Den namen über ein edit feld ändern
  4. zum schluss nur noch speichern und schritt 2 refreshen.
Könnt ihr mir dabei helfen?

Moderiert von user profile iconTino: Überflüssige Zeilenumbrüche entfernt und Code- & List-Tags hinzugefügt.
jasocul
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6395
Erhaltene Danke: 149

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: Fr 15.07.05 11:09 
Schau mal nach, ob nicht RenameFile das richtige für dich ist.
Tilman
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1405
Erhaltene Danke: 51

Win 7, Android
Turbo Delphi, Eclipse
BeitragVerfasst: Fr 15.07.05 11:24 
Was das "rauskopieren" angeht, meinst du das:
ausblenden Quelltext
1:
dateiname = extractFileName("Datei mit Pfad");					
Trunks Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 62

winXP, win98, winME, debian, suse, maCoS, Symbian, WinCE
Delphi 7, Delhi 2006, c++, MySql, db2, php, js, java, c#, assembler,
BeitragVerfasst: Fr 15.07.05 11:45 
ok,

soweit hab ich es, danke

hab aber noch eine Frage. Wie kann ich Strings voneinander abziehen?

zbs:
ausblenden 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 user profile iconTino: Überflüssige Zeilenumbrüche entfernt und Delphi-Tags hinzugefügt.
Tilman
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1405
Erhaltene Danke: 51

Win 7, Android
Turbo Delphi, Eclipse
BeitragVerfasst: 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 user profile iconTino: Delphi-Tags hinzugefügt.
jasocul
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6395
Erhaltene Danke: 149

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 62

winXP, win98, winME, debian, suse, maCoS, Symbian, WinCE
Delphi 7, Delhi 2006, c++, MySql, db2, php, js, java, c#, assembler,
BeitragVerfasst: 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. :D

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 user profile iconTino: Überflüssige Zeilenumbrüche.
jasocul
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6395
Erhaltene Danke: 149

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 62

winXP, win98, winME, debian, suse, maCoS, Symbian, WinCE
Delphi 7, Delhi 2006, c++, MySql, db2, php, js, java, c#, assembler,
BeitragVerfasst: Fr 15.07.05 12:11 
ok ich habs, Danke an Alle 8)
Tilman
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1405
Erhaltene Danke: 51

Win 7, Android
Turbo Delphi, Eclipse
BeitragVerfasst: 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 :D
Tino
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Veteran
Beiträge: 9839
Erhaltene Danke: 45

Windows 8.1
Delphi XE4
BeitragVerfasst: Fr 15.07.05 13:00 
Hallo und :welcome: hier im Delphi-Forum.de!

user profile iconTrunks hat folgendes geschrieben:
Also wenn wir schon so nett hier alle in eine Runde sind, dann hab ich da noch ne Frage. :D

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.