-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathFileForge.cpp
156 lines (129 loc) · 4.49 KB
/
FileForge.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
#include <vcl.h>
#pragma hdrstop
#include "FileForge.h"
#include <System.IOUtils.hpp> // Required for TDirectory and TFile operations
#include <ShellAPI.h> // Required for ShellExecute
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
#include <System.Generics.Collections.hpp> // For TArray
TForm3 *Form3;
//---------------------------------------------------------------------------
__fastcall TForm3::TForm3(TComponent* Owner)
: TForm(Owner)
{
// Optionally initialize anything here
}
//---------------------------------------------------------------------------
void __fastcall TForm3::Button12Click(TObject *Sender)
{
Application->Terminate();
}
//---------------------------------------------------------------------------
void __fastcall TForm3::Button11Click(TObject *Sender)
{
Application->MessageBox(L"OK message", L"Notification", MB_OK);
}
//---------------------------------------------------------------------------
void __fastcall TForm3::Memo2Change(TObject *Sender)
{
// Store the content of Memo2 as the filename
filename = Memo2->Text.Trim(); // Remove any leading/trailing spaces
}
//---------------------------------------------------------------------------
void __fastcall TForm3::Button2Click(TObject *Sender)
{
if (!filename.IsEmpty())
{
try
{
// Create an empty file or save some content to the file with the name stored in filename
TStringList *fileContent = new TStringList();
fileContent->Text = L"File created with name from Memo2!";
fileContent->SaveToFile(filename);
delete fileContent;
Application->MessageBox(L"File created successfully!", L"Success", MB_OK);
}
catch (Exception &e)
{
Application->MessageBox(e.Message.c_str(), L"Error", MB_OK);
}
}
else
{
Application->MessageBox(L"No filename specified in Memo2.", L"Error", MB_OK);
}
}
//---------------------------------------------------------------------------
void __fastcall TForm3::Button1Click(TObject *Sender)
{
String filename = Memo2->Text.Trim(); // Retrieve filename from Memo2
if (!filename.IsEmpty())
{
// Attempt to delete the file
if (DeleteFile(filename))
{
Application->MessageBox(L"File deleted successfully!", L"Success", MB_OK);
}
else
{
Application->MessageBox(L"File could not be deleted. It may not exist.", L"Error", MB_OK);
}
}
else
{
Application->MessageBox(L"No filename specified in Memo2.", L"Warning", MB_OK);
}
}
//---------------------------------------------------------------------------
void __fastcall TForm3::Button4Click(TObject *Sender)
{
String oldFilename = Memo2->Text.Trim(); // Retrieve the old filename from Memo2
if (!oldFilename.IsEmpty())
{
// Prompt the user for the new filename
String newFilename = InputBox(L"Rename File", L"Enter the new filename with extension:", L"");
if (!newFilename.IsEmpty())
{
// Attempt to rename the file
if (RenameFile(oldFilename, newFilename))
{
Application->MessageBox(L"File renamed successfully!", L"Success", MB_OK);
}
else
{
Application->MessageBox(L"File could not be renamed. It may not exist or is in use.", L"Error", MB_OK);
}
}
else
{
Application->MessageBox(L"No new filename entered.", L"Warning", MB_OK);
}
}
else
{
Application->MessageBox(L"No filename specified in Memo2.", L"Warning", MB_OK);
}
}
//---------------------------------------------------------------------------
void __fastcall TForm3::Button3Click(TObject *Sender)
{
String filename = Memo2->Text.Trim(); // Retrieve the filename from Memo2
if (!filename.IsEmpty())
{
if (FileExists(filename))
{
// Open the file in the default text editor (like Notepad)
ShellExecute(0, L"open", filename.w_str(), NULL, NULL, SW_SHOWNORMAL);
}
else
{
Application->MessageBox(L"File does not exist.", L"Error", MB_OK);
}
}
else
{
Application->MessageBox(L"No filename specified in Memo2.", L"Warning", MB_OK);
}
}
//---------------------------------------------------------------------------