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. |