unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Buttons, StdCtrls, ImgList, ExtCtrls; type TForm1 = class(TForm) MemoBox: TMemo; Headline: TLabel; LoadButton: TButton; SaveButton: TButton; EncryptButton: TButton; DecryptButton: TButton; Label1: TLabel; BrainImage: TImage; Button1: TButton; procedure FormCreate(Sender: TObject); procedure LoadButtonClick(Sender: TObject); procedure EncryptButtonClick(Sender: TObject); procedure SaveButtonClick(Sender: TObject); procedure DecryptButtonClick(Sender: TObject); procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); procedure HeadlineMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); procedure Button1Click(Sender: TObject); procedure BrainImageClick(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; fileName : String; fileData : TStringList; openDialog : TOpenDialog; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin //Deaktiver de unødvendige knapper EncryptButton.Enabled := False; DecryptButton.Enabled := False; SaveButton.Enabled := False; //Klargør memoboxen MemoBox.Clear; MemoBox.ScrollBars := ssBoth; //Klargør Label1 Label1.Caption := 'Ready for loading...'; // Create the open dialog object - used by the GetTextFile routine openDialog := TOpenDialog.Create(self); // Ask for only files that exist openDialog.Options := [ofFileMustExist]; // Ask only for text files openDialog.Filter := 'Text files|*.txt'; // Create the string list object that holds the file contents fileData := TStringList.Create; end; procedure TForm1.LoadButtonClick(Sender: TObject); begin if openDialog.Execute then // Did the user select a file? begin // Save the file name fileName := openDialog.FileName; // Now that we have a file loaded, enable the text correction button EncryptButton.Enabled := True; DecryptButton.Enabled := True; // Load the file into our string list fileData.LoadFromFile(fileName); // Display the file in the file display box MemoBox.Text := fileData.Text; // Display the number of lines in the file Label1.Caption := fileName; end; end; procedure TForm1.EncryptButtonClick(Sender: TObject); begin //Clear the memobox MemoBox.Clear; //Simple and stupid encrypting - with small charecters fileData.Text := StringReplace(fileData.text, 'a', '/', [rfReplaceAll]); fileData.Text := StringReplace(fileData.text, 'e', '%', [rfReplaceAll]); fileData.Text := StringReplace(fileData.text, 'n', ')', [rfReplaceAll]); fileData.Text := StringReplace(fileData.text, 'c', '(', [rfReplaceAll]); fileData.Text := StringReplace(fileData.text, 'f', '{', [rfReplaceAll]); fileData.Text := StringReplace(fileData.text, 't', '[', [rfReplaceAll]); fileData.Text := StringReplace(fileData.text, 'o', ']', [rfReplaceAll]); fileData.Text := StringReplace(fileData.text, 'l', '}', [rfReplaceAll]); fileData.Text := StringReplace(fileData.text, 'm', '£', [rfReplaceAll]); fileData.Text := StringReplace(fileData.text, 'u', '+', [rfReplaceAll]); fileData.Text := StringReplace(fileData.text, 'r', '<', [rfReplaceAll]); fileData.Text := StringReplace(fileData.text, 'h', '>', [rfReplaceAll]); fileData.Text := StringReplace(fileData.text, 'p', '©', [rfReplaceAll]); fileData.Text := StringReplace(fileData.text, 'y', '†', [rfReplaceAll]); fileData.Text := StringReplace(fileData.text, 'g', '*', [rfReplaceAll]); fileData.Text := StringReplace(fileData.text, 'd', '|', [rfReplaceAll]); fileData.Text := StringReplace(fileData.text, 'w', '&', [rfReplaceAll]); fileData.Text := StringReplace(fileData.text, 'v', '=', [rfReplaceAll]); fileData.Text := StringReplace(fileData.text, 'i', '#', [rfReplaceAll]); //Simple and stupid encrypting - with caps fileData.Text := StringReplace(fileData.text, 'A', '/', [rfReplaceAll]); fileData.Text := StringReplace(fileData.text, 'E', '%', [rfReplaceAll]); fileData.Text := StringReplace(fileData.text, 'N', ')', [rfReplaceAll]); fileData.Text := StringReplace(fileData.text, 'C', '(', [rfReplaceAll]); fileData.Text := StringReplace(fileData.text, 'F', '{', [rfReplaceAll]); fileData.Text := StringReplace(fileData.text, 'T', '[', [rfReplaceAll]); fileData.Text := StringReplace(fileData.text, 'O', ']', [rfReplaceAll]); fileData.Text := StringReplace(fileData.text, 'L', '}', [rfReplaceAll]); fileData.Text := StringReplace(fileData.text, 'M', '£', [rfReplaceAll]); fileData.Text := StringReplace(fileData.text, 'U', '+', [rfReplaceAll]); fileData.Text := StringReplace(fileData.text, 'R', '<', [rfReplaceAll]); fileData.Text := StringReplace(fileData.text, 'H', '>', [rfReplaceAll]); fileData.Text := StringReplace(fileData.text, 'P', '©', [rfReplaceAll]); fileData.Text := StringReplace(fileData.text, 'Y', '†', [rfReplaceAll]); fileData.Text := StringReplace(fileData.text, 'G', '*', [rfReplaceAll]); fileData.Text := StringReplace(fileData.text, 'D', '|', [rfReplaceAll]); fileData.Text := StringReplace(fileData.text, 'W', '&', [rfReplaceAll]); fileData.Text := StringReplace(fileData.text, 'V', '=', [rfReplaceAll]); fileData.Text := StringReplace(fileData.text, 'I', '#', [rfReplaceAll]); // Display the file in the file display box MemoBox.Text := fileData.Text; //Enable the save button again SaveButton.Enabled := True; end; procedure TForm1.SaveButtonClick(Sender: TObject); begin // Simply save the contents of the file string list -- SAVEBUTTON if fileName <> '' then fileData.SaveToFile(fileName); //Deaktiver de unødvendige knapper EncryptButton.Enabled := False; DecryptButton.Enabled := False; SaveButton.Enabled := False; //Skriv label gemt Label1.Caption:='Saved successfully'; //Klargør memoboxen MemoBox.Clear; end; procedure TForm1.DecryptButtonClick(Sender: TObject); begin //Clear the memobox MemoBox.Clear; //Simple and stupid decrypting - with small charecters fileData.Text := StringReplace(fileData.text, '/', 'a', [rfReplaceAll]); fileData.Text := StringReplace(fileData.text, '%', 'e', [rfReplaceAll]); fileData.Text := StringReplace(fileData.text, ')', 'n', [rfReplaceAll]); fileData.Text := StringReplace(fileData.text, '(', 'c', [rfReplaceAll]); fileData.Text := StringReplace(fileData.text, '{', 'f', [rfReplaceAll]); fileData.Text := StringReplace(fileData.text, '[', 't', [rfReplaceAll]); fileData.Text := StringReplace(fileData.text, ']', 'o', [rfReplaceAll]); fileData.Text := StringReplace(fileData.text, '}', 'l', [rfReplaceAll]); fileData.Text := StringReplace(fileData.text, '£', 'm', [rfReplaceAll]); fileData.Text := StringReplace(fileData.text, '+', 'u', [rfReplaceAll]); fileData.Text := StringReplace(fileData.text, '<', 'r', [rfReplaceAll]); fileData.Text := StringReplace(fileData.text, '>', 'h', [rfReplaceAll]); fileData.Text := StringReplace(fileData.text, '©', 'p', [rfReplaceAll]); fileData.Text := StringReplace(fileData.text, '†', 'y', [rfReplaceAll]); fileData.Text := StringReplace(fileData.text, '*', 'g', [rfReplaceAll]); fileData.Text := StringReplace(fileData.text, '|', 'd', [rfReplaceAll]); fileData.Text := StringReplace(fileData.text, '&', 'w', [rfReplaceAll]); fileData.Text := StringReplace(fileData.text, '=', 'v', [rfReplaceAll]); fileData.Text := StringReplace(fileData.text, '#', 'i', [rfReplaceAll]); //Simple and stupid decrypting - with caps fileData.Text := StringReplace(fileData.text, '/', 'A', [rfReplaceAll]); fileData.Text := StringReplace(fileData.text, '%', 'E', [rfReplaceAll]); fileData.Text := StringReplace(fileData.text, ')', 'N', [rfReplaceAll]); fileData.Text := StringReplace(fileData.text, '(', 'C', [rfReplaceAll]); fileData.Text := StringReplace(fileData.text, '{', 'F', [rfReplaceAll]); fileData.Text := StringReplace(fileData.text, '[', 'T', [rfReplaceAll]); fileData.Text := StringReplace(fileData.text, ']', 'O', [rfReplaceAll]); fileData.Text := StringReplace(fileData.text, '}', 'L', [rfReplaceAll]); fileData.Text := StringReplace(fileData.text, '£', 'M', [rfReplaceAll]); fileData.Text := StringReplace(fileData.text, '+', 'U', [rfReplaceAll]); fileData.Text := StringReplace(fileData.text, '<', 'R', [rfReplaceAll]); fileData.Text := StringReplace(fileData.text, '>', 'H', [rfReplaceAll]); fileData.Text := StringReplace(fileData.text, '©', 'P', [rfReplaceAll]); fileData.Text := StringReplace(fileData.text, '†', 'Y', [rfReplaceAll]); fileData.Text := StringReplace(fileData.text, '*', 'G', [rfReplaceAll]); fileData.Text := StringReplace(fileData.text, '|', 'D', [rfReplaceAll]); fileData.Text := StringReplace(fileData.text, '&', 'W', [rfReplaceAll]); fileData.Text := StringReplace(fileData.text, '=', 'V', [rfReplaceAll]); fileData.Text := StringReplace(fileData.text, '#', 'I', [rfReplaceAll]); // Display the file in the file display box MemoBox.Text := fileData.Text; //Enable the save button again SaveButton.Enabled := True; end; //MOVING THE FORM AROUND procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin if ssLeft in Shift then begin ReleaseCapture; SendMessage(Form1.Handle, WM_NCLBUTTONDOWN, 2, 0); end; end; //MOVING THE FORM AROUND - Via the logo procedure TForm1.HeadlineMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin if ssLeft in Shift then begin ReleaseCapture; SendMessage(Form1.Handle, WM_NCLBUTTONDOWN, 2, 0); end; end; procedure TForm1.Button1Click(Sender: TObject); begin Close; end; procedure TForm1.BrainImageClick(Sender: TObject); begin ShowMessage('This program was developed by Kristian Theilgaard of CK Systems'+#13+#13+'The CK Systems Cooperation was founded in 2005'+#13+#13+#13+'Release: 1.2.2'+#13); end; end.