Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » Borland C++ Builder » File löschen / wie ?

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
04.12.2003, 14:27 Uhr
ozone



Hallo zusammen,

habe mir grade einen Account erstellt und hoffe ich bin mit der Frage in Windows API richtig?

wie kann ich aus meinem Progrämmchen eine Logdatei löschen?

Ich bin so frei und poste mal die Sourcen;
--> Siehe ganz unten Button5, die Funktion löscht die erstelle pingprot.txt nicht, wie kann ich das File löschen?

C++:
#include <vcl.h>
#pragma hdrstop
#include "winbase.h"
#include "pingtest.h"
#include <INIFILES.HPP> // Include-File für die Verarbeitung von Ini-Files
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "Ping"
#pragma resource "*.dfm"
TForm1 *Form1;

int PingStatus = 0;
AnsiString IP[5];
int IPNumber;
AnsiString PingReply;

//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
    : TForm(Owner)
{
PingReply =Ping->HostIP + Ping->Size;
  IniFile = "Pingtest.ini";
  IPNumber = -1;
  //IP[0]="10.210.53.205";
  Ping->Address = Edit1->Text;
  IP[0]=Ping->Address;
  Filename = "pingprot.txt";
  AusgabeFile = CreateFile( Filename.c_str(),
                            GENERIC_WRITE,
                            FILE_SHARE_READ,
                            NULL,
                            OPEN_ALWAYS,    // Erzeugt neue Datei, schlägt fehl, falls Datei existiert
                            FILE_ATTRIBUTE_NORMAL|FILE_FLAG_WRITE_THROUGH,
                            NULL);

SetFilePointer ( AusgabeFile , 0, NULL, FILE_END );
{
Ausgabe = Now();
Ausgabe =+ "Start ----------------------------------------------------------\r\n";
ListBox1->Items->Add("Ping Tool started");
ListBox1->Items->Add("- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \r\n");
WriteFile (AusgabeFile, Ausgabe.c_str(), Ausgabe.Length(), &dwWritten, NULL);
}
Label2->Caption = "IP-Adress: " + Edit1->Text;
Status = true;
CheckBox1->Enabled=true;
CheckBox1->Checked=true;
// Hostname = Label4->Caption;
}
//---------------------------------------------------------------------------

void __fastcall TForm1::PingDnsLookupDone(TObject *Sender, WORD Error)
{
  // Ist der angegebene Host über den DNS zu finden ???
  if (Error != 0)
  {
    // Fehler ! Unbekannter Host : xxx.xxx.xxx.xxx
      Application->MessageBox("Host unbekannt !","Host unbekannt !",MB_OK);
      Ausgabe = Now();
      Ausgabe += " Host unknown: " + IP[IPNumber] + " not available!\r\n" ;
      //Label1->Caption = Ausgabe;
      ListBox1->Items->Add ("Host unknown: " + IP[IPNumber] + " not available!\r\n");
      WriteFile (AusgabeFile, Ausgabe.c_str(), Ausgabe.Length(), &dwWritten, NULL);
      Status = true;
      Timer1->Enabled=false;
  }
  else
  {
  // Ja !  -> Ping ausführen
    Ping->Address = Ping->DnsResult;
    Ping->Ping();
  }

}
//---------------------------------------------------------------------------

void __fastcall TForm1::PingEchoReply(TObject *Sender, TObject *Icmp, int Error)
{
  if (Error == 0)
  {
    if ( Status != false )
    {
      Status = false;
      Ausgabe = Now();
      Ausgabe += " Ping on " + IP[IPNumber] + " failed\r\n" ;
      //Label1->Caption = Ausgabe;
      Label4->Caption="Ping on: " + IP[IPNumber] + ": " + Ping->ErrorString;
      WriteFile (AusgabeFile, Ausgabe.c_str(), Ausgabe.Length(), &dwWritten, NULL);

    }
  }

  else
  {
    if ( Status != true )
    {
      Status = true;
      Ausgabe = Now();
      Ausgabe += " Ping on " + IP[IPNumber] + " OK\r\n" ;
      Ausgabe += "Reply from " + IP[IPNumber] + ": Bytes=" + PingReply + " Timeout: " + Ping->Timeout + " TTL= " + Ping->TTL + " \r\n";
      ListBox1->Items->Add ("Reply from " + IP[IPNumber] + ": Bytes=" + PingReply + " Timeout: " + Ping->Timeout + " TTL= " + Ping->TTL);
      ListBox1->Items->Add ("Ping on " + IP[IPNumber] + " OK!\r\n");
      WriteFile (AusgabeFile, Ausgabe.c_str(), Ausgabe.Length(), &dwWritten, NULL);
      Status=false;
    }
  }
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
  IPNumber ++;

  if ( IPNumber == 1 )
    IPNumber = 0;
    
  Ping->DnsLookup(IP[IPNumber]);
}
//---------------------------------------------------------------------------


void __fastcall TForm1::Button1Click(TObject *Sender)
{
{
Ausgabe = Now();
Ausgabe =+ "Start ----------------------------------------------------------\r\n";
WriteFile (AusgabeFile, Ausgabe.c_str(), Ausgabe.Length(), &dwWritten, NULL);
}
  CloseHandle (AusgabeFile);
  Close();
}
//---------------------------------------------------------------------------





void __fastcall TForm1::Button2Click(TObject *Sender)
{
ShellExecute(NULL, NULL, "pingprot.txt", NULL, NULL, SW_SHOWNORMAL);

}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button3Click(TObject *Sender)
{
Timer1->Enabled=false;
Status = true;
      Ausgabe = Now();
      Ausgabe += " Ping on " + IP[IPNumber] + " stopped!\r\n" ;
      //Label1->Caption = Ausgabe;
      ListBox1->Items->Add ("Ping on " + IP[IPNumber] + " stopped!\r\n");
      Label4->Caption="Ping on: " + IP[IPNumber] + " stopped\r\n";
      WriteFile (AusgabeFile, Ausgabe.c_str(), Ausgabe.Length(), &dwWritten, NULL);
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button4Click(TObject *Sender)
{
if (CheckBox1->State!=true)
{
PingCheckBoxTrue ();
}
else
{
Label4->Caption="Ping on: " + IP[IPNumber] + ": " + Ping->ErrorString;
Label2->Caption=Ping->Address;
Ping->Address = Edit1->Text;
IP[0]=Ping->Address;
Timer1->Enabled=true;

//Status = true;
      Ausgabe = Now();
      Ausgabe += " Ping on " + IP[IPNumber] + " started!\r\n" ;
      ListBox1->Items->Add (Ausgabe);
      ListBox1->Items->Add ("Reply from " + IP[IPNumber] + ": Bytes=" + PingReply + " Timeout: " + Ping->Timeout + " TTL= " + Ping->TTL);
      WriteFile (AusgabeFile, Ausgabe.c_str(), Ausgabe.Length(), &dwWritten, NULL);
//StartPing();
Status=false;
}

}
//---------------------------------------------------------------------------
TForm1::StartPing()
{
Label4->Caption="Ping on: " + IP[IPNumber] + ": " + Ping->ErrorString;
Label2->Caption=Ping->Address;
Ping->Address = Edit1->Text;
IP[0]=Ping->Address;
Timer1->Enabled=true;
Status = true;
      Ausgabe = Now();
      Ausgabe += " Ping on " + IP[IPNumber] + " started!\r\n" ;
      ListBox1->Items->Add (Ausgabe);
      ListBox1->Items->Add ("Reply from " + IP[IPNumber] + ": Bytes=" + PingReply + " Timeout: " + Ping->Timeout + " TTL= " + Ping->TTL);
      WriteFile (AusgabeFile, Ausgabe.c_str(), Ausgabe.Length(), &dwWritten, NULL);
Status = true;
}
//---------------------------------------------------------------------------
TForm1::PingCheckBoxTrue()
{
Status = false;

Label4->Caption="Ping on: " + IP[IPNumber] + ": " + Ping->ErrorString;
Label2->Caption=Ping->Address;
Ping->Address = Edit1->Text;
IP[0]=Ping->Address;
//Timer1->Enabled=true;
      Ausgabe = Now();
      Ausgabe += " Ping on " + IP[IPNumber] + " started!\r\n" ;
      ListBox1->Items->Add (Ausgabe);
      ListBox1->Items->Add ("Reply from " + IP[IPNumber] + ": Bytes=" + PingReply + " Timeout: " + Ping->Timeout + " TTL= " + Ping->TTL);
      WriteFile (AusgabeFile, Ausgabe.c_str(), Ausgabe.Length(), &dwWritten, NULL);

//AB hier wird der Ping einmalig ausgeführt.

Status = false;

    if ( Status != false )
    {
      Status = false;
      Ausgabe = Now();
      Ausgabe += " Ping on " + IP[IPNumber] + " failed\r\n" ;
      //Label1->Caption = Ausgabe;
      Label4->Caption="Ping on: " + IP[IPNumber] + ": " + Ping->ErrorString;
      WriteFile (AusgabeFile, Ausgabe.c_str(), Ausgabe.Length(), &dwWritten, NULL);

    }


  else
   {
    if ( Status != true )
      Status = true;
      Ausgabe = Now();
      Ausgabe += " Ping on " + IP[IPNumber] + " OK\r\n" ;
      Ausgabe += "Reply from " + IP[IPNumber] + ": Bytes=" + PingReply + " Timeout: " + Ping->Timeout + " TTL= " + Ping->TTL + " \r\n";
      ListBox1->Items->Add ("Reply from " + IP[IPNumber] + ": Bytes=" + PingReply + " Timeout: " + Ping->Timeout + " TTL= " + Ping->TTL);
      ListBox1->Items->Add ("Ping on " + IP[IPNumber] + " OK!\r\n");
      WriteFile (AusgabeFile, Ausgabe.c_str(), Ausgabe.Length(), &dwWritten, NULL);
      Status=true;
    }
}

//---------------------------------------------------------------------------
void __fastcall TForm1::CheckBox1Click(TObject *Sender)
{
if (CheckBox1->State!=false)
{
Ausgabe = Now();
Ausgabe += " (CheckboxState: enabled)\r\n";
WriteFile (AusgabeFile, Ausgabe.c_str(), Ausgabe.Length(), &dwWritten, NULL);
Label3->Caption = "CheckboxState: enabled\r\n";
}
else
{
Ausgabe = Now();
Ausgabe += " (CheckboxState: disabled)\r\n";
WriteFile (AusgabeFile, Ausgabe.c_str(), Ausgabe.Length(), &dwWritten, NULL);
Label3->Caption = "CheckboxState: disabled\r\n";
}
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button6Click(TObject *Sender)
{
ListBox1->Clear();
}
//---------------------------------------------------------------------------


TForm1::PingStop()
{
Timer1->Enabled=false;
Status = true;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button5Click(TObject *Sender)
{
Filename = "pingprot.txt";
DeleteFile( Filename.c_str());
  DeleteFile(Filename);
}
//---------------------------------------------------------------------------




Bearbeitung von 0xdeadbeef:

BENUTZT DIE GOTTVERDAMMTEN CPP-TAGS! ARGH!


Dieser Post wurde am 04.12.2003 um 16:33 Uhr von 0xdeadbeef editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
04.12.2003, 21:34 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


(gehört nach Borland)

Wahrscheinlich liegt es daran das die Datei nicht im aktuellen Verzeichnis gefunden wird bzw dieses im Laufe des Programms geändert wurde.
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
04.01.2004, 00:29 Uhr
~MaierMan
Gast


Ohne richtig gelesen zu haben:

Vielleicht solltest mal den AusgabeFile-Stream schließen und somit die Schreib und Löschsperren aufheben?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ Borland C++ Builder ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: