ja ik wil mijn applicatie op 2 pc's schrijven. Dit omdat ik soms vrije tijd thuis heb en bij mijn vriendin. Op de PC van mijn vriendin compileert het hele programma gewoon, op mijn pc niet.
Ik kan dus ook geen plek aanwijzen in de code waar de fout optreedt... Je zou idd zeggen dat hij toernooiopenen form of unit niet kan vinden, maar die staan keurig op mijn sticky de E: schijf.
Maar goed hier de code,
Code:
unit ToernooiOpenenUnit;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls;
type
{ TToernooiOpenen }
TToernooiOpenen = class(TForm)
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
Button6: TButton;
Edit6: TEdit;
Groupbox2: TGroupBox;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
GroupBox1: TGroupBox;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
ListBox1: TListBox;
ListBox2: TListBox;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
ToernooiOpenen: TToernooiOpenen;
ToernooiPath: string;
SelectedLineListbox1: integer;
implementation
{$R *.lfm}
{ TToernooiOpenen }
procedure GetFiles(Path : string; Filter: string; FileList: TStringList);
var
SearchRec: TSearchRec;
Found: Integer;
begin
Path := IncludeTrailingBackslash(Path);
try
if FindFirst(Path + Filter, faAnyFile, SearchRec) = 0 then
begin
repeat
if SearchRec.Attr = faDirectory then
begin
if (SearchRec.Name <> '.') and (SearchRec.Name <> '..') then
FileList.Add(SearchRec.Name);
end
until FindNext(SearchRec) <> 0;
end;
finally
FindClose(SearchRec);
end;
end;
procedure TToernooiOpenen.Button1Click(Sender: TObject);
begin
Groupbox1.Visible:=False;
Groupbox2.Visible:=True;
edit1.Enabled:=True;
Edit2.Enabled:=True;
Edit3.Enabled:=True;
Edit4.Enabled:=True;
Edit5.Enabled:=True;
ShortDateFormat :='ddMMMMyyyy';
Edit3.Text:=DateToStr(now);
if Listbox2.Count = 0 then
begin
Button3.Enabled:=False;
end
else
begin
Button3.Enabled:=True;
end;
end;
procedure TToernooiOpenen.Button2Click(Sender: TObject);
var
Textfilel: TStringlist;
Projectdatapath: String;
Line: integer;
F: TextFile;
Nr: String;
begin
if (Listbox1.SelCount = 1) then
begin
Groupbox2.Visible:=True;
groupbox1.Visible:=False;
edit1.Enabled:=False;
Listbox2.Enabled:=False;
Edit2.Enabled:=False;
Edit3.Enabled:=False;
Edit4.Enabled:=False;
Edit5.Enabled:=False;
Line:=Listbox1.ItemIndex;
ToernooiPath:= 'toernooien\'+ Listbox1.Items.ValueFromIndex[Line];
ProjectDataPath := 'toernooien\'+ Listbox1.Items.ValueFromIndex[Line] + '\toernooidata.txt';
AssignFile(f, ProjectDatapath);
Reset(f);
while not Eof(f) do
begin
ReadLn(f, Nr);
Edit1.Text:= Nr;
end;
CLosefile(f);
end
else
begin
Groupbox2.Visible:=False;
Groupbox1.Visible:=True;
Showmessage('Geen of meerdere toernooien geselecteerd!');
end;
if Listbox2.Count = 0 then
begin
Button3.Enabled:=False;
end
else
begin
Button3.Enabled:=True;
end;
end;
procedure TToernooiOpenen.Button3Click(Sender: TObject); //klasse verwijderen
begin
if Listbox2.Count = 0 then
begin
Button3.Enabled:=False;
end
else
begin
Button3.Enabled:=True;
Listbox2.Items.Delete(Listbox2.ItemIndex);
end;
end;
procedure TToernooiOpenen.Button4Click(Sender: TObject); //Klasse Toevoegen
begin
if edit6.Text = '' then
begin
showmessage('Verkeerde Invoer!');
end
else
begin
listbox2.Items.Insert(0, Edit6.Text);
edit6.text := '';
end;
if Listbox2.Count = 0 then
begin
Button3.Enabled:=False;
end
else
begin
Button3.Enabled:=True;
end;
end;
procedure TToernooiOpenen.Button5Click(Sender: TObject); //Ga Naar Inschrijven
var
error: integer;
textfile : TStringlist;
AantalKlassen: Integer;
begin
if (Edit1.text = '') or (Edit2.text = '') or (Edit3.text = '') or (Edit4.text = '') or (Edit5.text = '') then
begin
Showmessage('Niet alle data correct ingevoerd!');
end
else
begin
createdir('toernooien\'+ Edit1.Text + edit3.text);
ToernooiPath:= 'toernooien\'+ Edit1.Text + edit3.text;
Textfile := TStringList.Create();
try
Textfile.Add(edit1.Text);
Textfile.Add(edit2.Text);
Textfile.Add(edit3.Text);
Textfile.Add(edit4.Text);
Textfile.Add(edit5.Text);
TextFile.SaveToFile(Toernooipath + '\ProjectData.txt');
finally
TextFile.Free;
end;
for AantalKlassen := 0 to (Listbox2.Items.Count - 1) do
begin
createdir(Toernooipath + '\' + Listbox2.Items[aantalklassen]);
end;
end;
end;
procedure TToernooiOpenen.Button6Click(Sender: TObject);
begin
Groupbox1.Visible:=True;
Groupbox2.Visible:=False;
Edit1.Text:= '';
Edit2.Text := '';
listbox2.Items.Clear;
edit3.Text:='';
end;
procedure TToernooiOpenen.FormCreate(Sender: TObject);
var
FileList : TStringList;
SearchRec: TSearchRec;
Found: Integer;
begin
Groupbox1.Visible:=True;
Groupbox2.Visible:=False;
mkdir('toernooien'); // Aanmaken toernooien directiony
FileList := TStringList.Create;
GetFiles('toernooien', '*.*', FileList);
Listbox1.Items.Clear;
Listbox1.Items.AddStrings(FileList);
FileList.Free;
if (listbox1.Count = 0) then
button2.Enabled:=False
else
button2.Enabled:=True;
end;
end.
Dan hier de code van het project aanmaak gebeuren:
Code:
program AutoCrossProject;
{$mode objfpc}{$H+}
uses
{$IFDEF UNIX}{$IFDEF UseCThreads}
cthreads,
{$ENDIF}{$ENDIF}
Interfaces, // this includes the LCL widgetset
Forms, ToernooiOpenenUnit
{ you can add units after this };
{$R *.res}
begin
Application.Initialize;
Application.CreateForm(TToernooiOpenen, ToernooiOpenen);
Application.Run;
end.
Hopelijk kunnen jullie hier wat meer mee,
Bookmarks