AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi SaveToFile [TStringgrid] ohne Tsavedialog
Thema durchsuchen
Ansicht
Themen-Optionen

SaveToFile [TStringgrid] ohne Tsavedialog

Ein Thema von danku · begonnen am 10. Mai 2006 · letzter Beitrag vom 15. Mai 2006
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von TeronG
TeronG

Registriert seit: 19. Jul 2004
Ort: München
960 Beiträge
 
Delphi 2007 Professional
 
#11

Re: SaveToFile [TStringgrid] ohne Tsavedialog

  Alt 11. Mai 2006, 14:43

Ich dachte, du möchtest den inhalt des Grid's speichern.
Aber du willst nur die "alte Datei" unter neuem/korigiertem namen speichern oder wie?
龍 Der Unterschied zwischen Theorie und Praxis ist in der Praxis größer als in der Theorie.
  Mit Zitat antworten Zitat
Benutzerbild von danku
danku

Registriert seit: 9. Apr 2006
Ort: 32-bit Adressbus
181 Beiträge
 
Delphi 7 Enterprise
 
#12

Re: SaveToFile [TStringgrid] ohne Tsavedialog

  Alt 11. Mai 2006, 14:52
ja sry wenn ich mich falsch ausgedrückt habe.
*missverständnis
  Mit Zitat antworten Zitat
Benutzerbild von TeronG
TeronG

Registriert seit: 19. Jul 2004
Ort: München
960 Beiträge
 
Delphi 2007 Professional
 
#13

Re: SaveToFile [TStringgrid] ohne Tsavedialog

  Alt 11. Mai 2006, 17:06
ohh .. aso ... dann sollte sowas passen

Delphi-Quellcode:
var
  AlteDatei, NeueDatei : String;

...
...

  for i := 0 to StringGrid1.RowCount-1 do
  begin
    AlteDatei := StringGrid1.Cells[0,i]; //die spalte mit dem alten namen des Opendialogs eintragen
    NeueDatei := StringGrid1.Cells[1,i]; //Die Spalte mit dem neuen bereinigten Namen eigragen
    MoveFile(AlteDatei,NeueDatei); // falls die alte Datei bleiben soll dann CopyFile();

    //MoveFile(StringGrid1.Cells[0,i],StringGrid1.Cells[1,i]); //ohne die var's ^^
  end;
du kannst natürlich auch die beiden Variabeln weglassen und die Cells direkt in MoveFile eingeben ... ich find's so nur anschaulicher.
Ist quasi wie dein eigentlicher code nur, daß du MoveFile benutzen musst ..

Hoffe ich habs nun richtig verstanden ^^

PS: Zum zerlegen der Pfadangaben (falls nötig): ExtractFilePath(), ExtractFileName()
龍 Der Unterschied zwischen Theorie und Praxis ist in der Praxis größer als in der Theorie.
  Mit Zitat antworten Zitat
Benutzerbild von danku
danku

Registriert seit: 9. Apr 2006
Ort: 32-bit Adressbus
181 Beiträge
 
Delphi 7 Enterprise
 
#14

Re: SaveToFile [TStringgrid] ohne Tsavedialog

  Alt 11. Mai 2006, 17:34
Zitat von TeronG:

Ich dachte, du möchtest den inhalt des Grid's speichern.
Aber du willst nur die "alte Datei" unter neuem/korigiertem namen speichern oder wie?
irgendwie reden wir aneinander vorbei.
deine 2thesen habe ich bereits schon erledigt.

wenn ich mp3s per topendialog1 ins sgfiles.cells[0,i] lade,
ist es doch logisch die datei wieder zu speichern, die eben in der spalte 1 vorliegen.

ES GEHT MIR DARUM, DAS DIE DATEIEN DIE PER OPENDIALOG IN DIE SPALTE 1 GELADEN WERDEN - DURCH DIE FILTER FORMATIERT WERDEN (NEUE NAMEN VERGEBEN) - UND ZURÜCKGESCHRIEBEN WERDEN. (ALSO UMBENNEN +SPEICHERN)

my try:

Delphi-Quellcode:
procedure Tfmformat.sbsaveClick(Sender: TObject);
var i,sum:integer;

  procedure SaveGrid(grid: TStringGrid; fileName: string);
  var iRow: integer;
  sl: TStringList;
   begin
   sl := TStringList.Create;
   .. ?
     sl.SaveToFile(fileName);
     sl.Free;
      end;

begin

if change= true
  then begin
    Statusbar1.Panels[1].text:='Saved';
    Savedialog1.InitialDir:=GetCurrentDir;

    for i:=0 to Opendialog1.files.count -1 do
    begin
    SaveGrid(sgfiles,opendialog1.Files.Strings[i]);
    end;
end;
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#15

Re: SaveToFile [TStringgrid] ohne Tsavedialog

  Alt 11. Mai 2006, 20:25
Mein letzter Versuch: Wenn deine Original-Dateinamen mit Pfad in Cols[1] stehen und die durch dein Programm korrigierten Namen ohne Pfad in Cols[0], dann sollte das hier funktionieren:

Delphi-Quellcode:
procedure RenameFiles(oldNames, newNames: TStrings; skip: Cardinal = 0);
var
  i: Integer;
  fp, fn: TFileName;
begin
  for i := skip to Pred(oldNames.Count) do
  begin
    fp := ExtracFilePath(oldNames[i]);
    fn := ExtractFileName(oldNames[i]);
    if (i < newNames.Count) and not SameText(fn, newNames[i]) then
    try
      RenameFile(oldNames[i], fp + newNames[i]);
      // positive Rückmeldung
    except
      // negative Rückmeldung
    end;
  end;
end;

procedure TDemoForm.RenameButtonClick(Sender: TObject);
begin
  with StringGrid do
    RenameFiles(Cols[1], Cols[0], FixedRows);
end;
marabu
  Mit Zitat antworten Zitat
Benutzerbild von danku
danku

Registriert seit: 9. Apr 2006
Ort: 32-bit Adressbus
181 Beiträge
 
Delphi 7 Enterprise
 
#16

Re: SaveToFile [TStringgrid] ohne Tsavedialog

  Alt 12. Mai 2006, 14:52
jo
lass dich drücken. danke für deine ausdauer
du bist der erste der mein fertiges programm erhält
  Mit Zitat antworten Zitat
Benutzerbild von TeronG
TeronG

Registriert seit: 19. Jul 2004
Ort: München
960 Beiträge
 
Delphi 2007 Professional
 
#17

Re: SaveToFile [TStringgrid] ohne Tsavedialog

  Alt 15. Mai 2006, 16:33

Ich hatte doch auch alles gepostet? (bis auf die Copy&Paste-Lösung)
ExtractFilePath(), ExtractFileName(), MoveFile() // MoveFile = RenameFile
龍 Der Unterschied zwischen Theorie und Praxis ist in der Praxis größer als in der Theorie.
  Mit Zitat antworten Zitat
Benutzerbild von danku
danku

Registriert seit: 9. Apr 2006
Ort: 32-bit Adressbus
181 Beiträge
 
Delphi 7 Enterprise
 
#18

Re: SaveToFile [TStringgrid] ohne Tsavedialog

  Alt 15. Mai 2006, 16:36
mag sein. sry wenn ich es übersehn habe.
die move methode ware aufjedenfall nix.
beschäftige mich im moment mit tstringlists
  Mit Zitat antworten Zitat
Benutzerbild von TeronG
TeronG

Registriert seit: 19. Jul 2004
Ort: München
960 Beiträge
 
Delphi 2007 Professional
 
#19

Re: SaveToFile [TStringgrid] ohne Tsavedialog

  Alt 15. Mai 2006, 16:52
Egal .. hauptsache das Problem wurde trotz der Missverständnisse doch noch gelöst
龍 Der Unterschied zwischen Theorie und Praxis ist in der Praxis größer als in der Theorie.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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