05. september 2005 - 13:14Der er
5 kommentarer og 1 løsning
Omdøb fil
Jeg skal have omdøbt nogle filer og har nedenstående kode, men jeg får en access violation ved linien med if PChar.
alle understregninger skal fjernes fra filnavnet og det næste bogstav skal derefter være stort.
Nogle, der kan se fejlen.
procedure TForm1.BtnSoegClick(Sender: TObject); VAR SearchRec : TSearchRec; CPath : String; i : integer; NuvaerendeFilnavn, NytFilnavn : string; fil : File; begin if FindFirst(IncludeTrailingBackslash(Edit1.Text)+'*.txt',faANYFILE,SearchRec) = 0 then repeat if (SearchRec.Attr and faSysFile = 0) and (SearchRec.Attr and faDIRECTORY = 0) and (SearchRec.Attr and faVolumeID = 0) and (SearchRec.Name <> '.') and (SearchRec.Name <> '..') then begin StatusBar1.simpleText:= 'Søger i '+IncludeTrailingBackslash(Edit1.Text); AssignFile(fil, SearchRec.Name); NytFilnavn:= ''; For i := 1 to Length(SearchRec.Name) do begin if PChar(SearchRec.Name[i])^ in ['a'..'z','A'..'Z'] then NytFilnavn[i] := SearchRec.Name[i]else <<<< Her kommer fejlen. if SearchRec.Name[i] = '_' then NytFilnavn[i] := ' '; end; Rename(fil, NytFilnavn); end; until FindNext(SearchRec) <> 0; FindClose(SearchRec); end;
du kan ikke bruge nytfilnavn[i] da du har sat den til '' tidligere.
prøv med
For i := 1 to Length(SearchRec.Name) do begin if SearchRec.Name[i] in ['a'..'z','A'..'Z'] then NytFilnavn := NytFilnavn + SearchRec.Name[i] else if SearchRec.Name[i] = '_' then NytFilnavn := NytFilnavn + ' '; end;
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.