AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Datei kann nicht geschrieben werden - Warum und wie ändern?
Thema durchsuchen
Ansicht
Themen-Optionen

Datei kann nicht geschrieben werden - Warum und wie ändern?

Offene Frage von "torud"
Ein Thema von torud · begonnen am 26. Okt 2006 · letzter Beitrag vom 30. Okt 2006
 
torud

Registriert seit: 26. Jul 2002
Ort: Sachsen
1.198 Beiträge
 
Delphi XE5 Professional
 
#10

Re: Datei kann nicht geschrieben werden - Warum und wie ände

  Alt 26. Okt 2006, 20:39
Also den Code habe ich nun angepasst. Hier kommt bisher keine Fehlermeldung mehr. Ich habe mich dann auch daran gemacht den Code für die IndexPage anzupassen. Dieser sieht wie folgt aus. Ich hätte davon sicher die Masse weglassen können, aber wer weiss wozu es gut ist. Manchmal steckt der Teufel eben im Detail.

Dieser Code wird ausgeführt nach Druck auf einen Button. Es reichten mir 4 Versuche bis die Meldung kam, dass die Datei nicht erzeugt werden kann.

Delphi-Quellcode:
procedure Tcomplete.btn_generateClick(Sender: TObject);
var
  HtmlList,ContentList,FileList:TStringlist;
  str_head,str_content,sFileName:string;
  i,k,z,j,int_Count,int_cols,int_rows,int_filecounter_th,int_filecounter_td:integer;
begin
  int_Count:=0;
  int_cols:=0;
  int_rows:=0;
  int_filecounter_th:=0;
  int_filecounter_td:=0;

  int_cols:=ed_cols.Value;
  ContentList:=TStringlist.Create;
  HtmlList:=TStringlist.Create;
  FileList:=TStringlist.Create;

  HtmlList.Add('<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">');
  HtmlList.Add('<html>');
  HtmlList.Add('<head>');
  HtmlList.Add('<link rel="stylesheet" href="../css/'+cmb_css_file.Text+'" type="text/css" />');

  HtmlList.Add('</head>');
  HtmlList.Add('<body>');

    for i:=0 to form1.list_files.Count-1 do
      if form1.list_files.Checked[i] then
        begin
          inc(int_Count);
          FileList.Add(form1.ed_dir.Text + form1.list_files.items[i])
        end;

    case rad_artikel_style.ItemIndex of
      0 : begin
            for i:=0 to form1.list_files.Count-1 do
              begin
                if form1.list_files.Checked[i] then
                  begin
                    ContentList.LoadFromFile(form1.ed_dir.Text + form1.list_files.Items.Strings[i]);
                    str_head:=ContentList.Strings[0];
                    ContentList.Delete(0);
                    str_content:=ContentList.Text;
                    form1.GenerateFile(form1.ed_dir.Text + form1.list_files.Items[i],false,i);
                    SetLength(str_content,strtoint(ed_sign_count.text));
                    //hier wird das layout zusammengebaut
                            HtmlList.Add('');
                            HtmlList.Add('<h3>'+str_head+'</h3>');
                            HtmlList.Add('');
                            if chk_br_linktext.Checked then
                              HtmlList.Add('

'+str_content+'
[url="artikel_id_
'+inttostr(i)+'.html"]'+ed_linktext.Text+'[/url]</p>')
                            else
                              HtmlList.Add('

'+str_content+' [url="artikel_id_'+inttostr(i)+'.html"]'+ed_linktext.Text+'[/url]</p>');
                            HtmlList.Add('');
                    end;
                  end;
              end;
        1 : begin
              HtmlList.Add('<table cellpadding="3">');
              int_rows:=((int_Count div int_cols) + (int_Count mod int_cols));
              //arbeitet alle zeilen ab
              for k:=0 to int_rows-1 do
                begin
                  //arbeitet die th-spalten ab
                  HtmlList.Add(' <tr valign="top">');
                  for z:= 1 to int_cols do
                    begin
                      ContentList.Clear;
                      if int_filecounter_th<int_Count then
                        begin
                          ContentList.LoadFromFile(FileList.Strings[int_filecounter_th]);
                          str_head:=ContentList.Strings[0];
                          HtmlList.Add(' <th>'+str_head+'</th>');
                        end
                      else
                          HtmlList.Add(' <th></th>');
                      inc(int_filecounter_th);
                    end;
                  HtmlList.Add(' </tr>');
                  //arbeitet die td-spalten ab
                  HtmlList.Add(' <tr valign="top">');
                  for z:= 1 to int_cols do
                    begin
                      ContentList.Clear;
                      if int_filecounter_td<int_Count then
                        begin
                          ContentList.LoadFromFile(FileList.Strings[int_filecounter_td]);
                          ContentList.Delete(0);
                          str_content:=ContentList.Text;
                          form1.GenerateFile(FileList.Strings[int_filecounter_td],false,int_filecounter_td);
                          SetLength(str_content,strtoint(ed_sign_count.text));
                          HtmlList.Add(' <td>' +str_content+' [url="artikel_id_'+inttostr(int_filecounter_td)+'.html"]'+ed_linktext.Text+'[/url]</td>');
                        end
                      else
                          HtmlList.Add(' <td></td>');
                      inc(int_filecounter_td);
                    end;
                  HtmlList.Add(' </tr>');
                end;
            end;
    end;
    HtmlList.Add('</body>');
    HtmlList.Add('</html>');

    sFileName := Pvw_Path + 'index.html';

    if fileexists(sFileName) then
      DeleteFile(sFileName);
      sleep(60);

    try
      HtmlList.SaveToFile(sFileName);
      web.Navigate(sFileName);
    finally
      FileList.Free;
      HtmlList.Free;
      ContentList.Free;
    end;
end;
---------------------------
Benachrichtigung über Debugger-Exception
---------------------------
Im Projekt TxtFilesToHtml.exe ist eine Exception der Klasse EFCreateError aufgetreten. Meldung: 'Datei C:\Programme\Borland\Delphi6\Projects\TxtFilesToHt ml\preview\index.html kann nicht erstellt werden'. Prozeß wurde angehalten. Mit Einzelne Anweisung oder Start fortsetzen.
---------------------------
OK Hilfe
---------------------------
Danke
Tom
  Mit Zitat antworten Zitat
 


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 16:57 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz