Subversion Repositories stackman

Compare Revisions

Problem with comparison.

Regard whitespace Rev HEAD → Rev 1

/trunk/main.PAS
0,0 → 1,223
unit main;
 
interface
 
uses
Windows, SysUtils, Classes, Graphics, Forms, Controls, Menus,
StdCtrls, Dialogs, Buttons, Messages, ExtCtrls, ComCtrls, StdActns,
ActnList, ToolWin, ImgList, ShellAPI;
 
type
TMainForm = class(TForm)
MainMenu1: TMainMenu;
Window1: TMenuItem;
Help1: TMenuItem;
WindowCascadeItem: TMenuItem;
WindowTileItem: TMenuItem;
WindowArrangeItem: TMenuItem;
HelpAboutItem: TMenuItem;
WindowMinimizeItem: TMenuItem;
StatusBar: TStatusBar;
ActionList1: TActionList;
FileKategorien1: TAction;
FileExit1: TAction;
WindowCascade1: TWindowCascade;
WindowTileHorizontal1: TWindowTileHorizontal;
WindowArrangeAll1: TWindowArrange;
WindowMinimizeAll1: TWindowMinimizeAll;
HelpAbout1: TAction;
WindowTileVertical1: TWindowTileVertical;
WindowTileItem2: TMenuItem;
ToolBar2: TToolBar;
ToolButton3: TToolButton;
ToolButton9: TToolButton;
ToolButton8: TToolButton;
ToolButton10: TToolButton;
ToolButton11: TToolButton;
N1: TMenuItem;
Beenden1: TMenuItem;
Kategorie1: TMenuItem;
N2: TMenuItem;
JournalOpen: TMenuItem;
Timer1: TTimer;
Timer2: TTimer;
Neu1: TMenuItem;
AufUpdatesprfen1: TMenuItem;
FileNeu1: TAction;
FileJournal1: TAction;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
HelpUpdates1: TAction;
ImageList2: TImageList;
procedure FileKategorien1Execute(Sender: TObject);
procedure HelpAbout1Execute(Sender: TObject);
procedure FileExit1Execute(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure JournalOpenClick(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure Timer2Timer(Sender: TObject);
procedure FormResize(Sender: TObject);
procedure Neu1Click(Sender: TObject);
procedure AufUpdates1Click(Sender: TObject);
private
CloseTimerInitialized: boolean;
CloseTimerMin: Integer;
end;
 
var
MainForm: TMainForm;
 
implementation
 
{$R *.dfm}
 
uses
about, categories, global, journal;
 
procedure TMainForm.FileKategorien1Execute(Sender: TObject);
begin
openCategoriesWindow();
end;
 
procedure TMainForm.HelpAbout1Execute(Sender: TObject);
begin
AboutBox.ShowModal;
end;
 
procedure TMainForm.JournalOpenClick(Sender: TObject);
var
i: integer;
somethingfound: boolean;
begin
somethingfound := false;
 
for i := Screen.FormCount - 1 downto 0 do
begin
if Screen.Forms[i] is TMDIJournalForm then
begin
Screen.Forms[i].BringToFront;
Screen.Forms[i].WindowState := wsNormal;
somethingfound := true;
break;
end
end;
 
if not somethingfound then
begin
TMDIJournalForm.Create(Application);
end;
end;
 
procedure TMainForm.Neu1Click(Sender: TObject);
var
i: integer;
somethingfound: boolean;
begin
somethingfound := false;
 
for i := Screen.FormCount - 1 downto 0 do
begin
if Screen.Forms[i] is TMDICategories then
begin
TMDICategories(Screen.Forms[i]).DoNew;
somethingfound := true;
break;
end
end;
 
if not somethingfound then
begin
newDialog(''); // Aus der Wurzel erstellen
end;
end;
 
procedure TMainForm.Timer1Timer(Sender: TObject);
begin
// timer1.Enabled := false;
 
if not CloseTimerInitialized then
begin
CloseTimerMin := Screen.FormCount;
end;
 
if Screen.FormCount <= CloseTimerMin then
begin
if not CloseTimerInitialized then
begin
Kategorie1.Click; // Im OnShow ist das Ergebnis anders (Fenster zu klein, schwarze Ränder an abgerundeten Fensterkanten)
end
else
begin
if CfgOpenCatWhenEverythingClosed then Kategorie1.Click; // Das Fenster soll immer geöffnet werden, wenn alles andere geschlossen ist
end;
end;
 
if not CloseTimerInitialized then
begin
CloseTimerInitialized := true;
end;
end;
 
procedure TMainForm.Timer2Timer(Sender: TObject);
begin
StatusBar.Panels.Items[1].Text := DateTimeToStr(Now());
end;
 
procedure TMainForm.AufUpdates1Click(Sender: TObject);
const
abbreviation = 'stackman';
thisversion = '5.1';
resourcestring
lng_no_new_version = 'Es ist keine neue Programmversion vorhanden.';
lng_update_error = 'Ein Fehler ist aufgetreten. Wahrscheinlich ist keine Internetverbindung aufgebaut, oder der der ViaThinkSoft-Server temporär offline.';
lng_caption_error = 'Fehler';
lng_caption_information = 'Information';
lng_update_new_version = 'Eine neue Programmversion (%s) ist vorhanden. Möchten Sie diese jetzt herunterladen?';
const
url_comparison = 'http://www.viathinksoft.de/update/?id=%s&expect_version=%s';
url_version = 'http://www.viathinksoft.de/update/?id=%s';
url_download = 'http://www.viathinksoft.de/update/?id=@%s';
res_nothing = 'NO_UPDATES';
res_updates = 'UPDATE_AVAILABLE';
var
temp: string;
begin
temp := GetHTML(Format(url_comparison, [abbreviation, thisversion]));
 
if temp = res_nothing then
begin
Application.MessageBox(PChar(lng_no_new_version), PChar(lng_caption_information), MB_OK + MB_ICONASTERISK);
end
else if temp = res_updates then
begin
temp := GetHTML(Format(url_version, [abbreviation]));
if Application.MessageBox(PChar(Format(lng_update_new_version, [temp])), PChar(lng_caption_information), MB_YESNO + MB_ICONASTERISK) = ID_YES then
begin
ShellExecute(application.handle, 'open', pchar(Format(url_download, [abbreviation])), '', '', sw_normal);
end;
end
else
begin
Application.MessageBox(PChar(lng_update_error), PChar(lng_caption_error), MB_OK + MB_ICONERROR)
end;
end;
 
procedure TMainForm.FileExit1Execute(Sender: TObject);
begin
Close;
end;
 
procedure TMainForm.FormCreate(Sender: TObject);
begin
if not DirectoryExists(getDataPath()) then
begin
ForceDirectories(getDataPath());
end;
end;
 
procedure TMainForm.FormResize(Sender: TObject);
begin
StatusBar.Panels.Items[0].Width := StatusBar.Width - StatusBar.Panels.Items[1].Width;
end;
 
end.