26. juli 2006 - 16:44Der er
14 kommentarer og 2 løsninger
startup, forkert datamappe
Hej
Jeg har nu lavet mit program færdigt og har så sat det til at starte, hver gang jeg logger på. Problemet er, at der kommer en meddelelse frem, der lyder, at den ikke kan finde datafilerne. Den angiver så adressen, hvor den ikke kan finde dem "C:\Documents and Settings\Jonathan\data\ordbog1.txt". Mit program ligger bare her nu: "C:\Programmer\Brenes Ordbøger\". Inden i programmet, hvor filerne skal hentes, har jeg skrevet "data\ordbog1" for eksempel. så jeg ville da umiddelbart bare tro, at den tjekkede i den mappe, hvorfra exe-filen køres, om sådan sti findes.
I dette særtema om aspekter af AI ser vi på skiftet fra sprogmodeller til AI-agenter, og hvordan virksomheder kan navigere i spændet mellem teknologisk hastighed og behovet for menneskelig kontrol.
hej. jeg er lidt usikker på, hvordan jeg skal indføje, det I foreslår. det er sådan, at jeg ved ikke, hvor mange filer jeg skal åbne, jeg søger faktisk efter filer, der hedder "data\ordbog*.txt". jeg giver jer lige koden:
procedure FindAll (const Path: String;Attr: Integer;List: TStrings); var Res: TSearchRec; EOFound: Boolean; begin EOFound:= False; if FindFirst(Path, Attr, Res) < 0 then exit else while not EOFound do begin List.Add(Res.Name); EOFound:= FindNext(Res) <> 0; end; FindClose(Res); end;
procedure ordbogvalg; begin form1.listbox1.Items.LoadFromFile('data\ordbog'+ordbog+'.txt'); form1.memo1.Lines.loadfromfile('data\forklaringer'+ordbog+'.txt'); end;
procedure TForm1.ListBox1Click(Sender: TObject); var a: integer; begin memo2.Clear; for a:=0 to listbox1.Count-1 do if listbox1.itemindex=a then begin memo2.Lines.add(memo1.Lines[a]); end; end;
procedure TForm1.Luk1Click(Sender: TObject); begin close; end;
procedure TForm1.SgShiftS1Click(Sender: TObject); begin listbox1.Visible:=true; memo2.Visible:=true; memo3.Visible:=false; FindDialog1.Execute; end;
procedure TForm1.FindDialog2Find(Sender: TObject); var i, PosReturn: Integer; begin for i:=m to listbox1.count-1 do begin PosReturn := Pos(' '+FindDialog2.FindText,listbox1.items[i]); if PosReturn <> 0 then begin listbox1.ItemIndex:=i; m:=i+1; Break; end; end; end;
procedure TForm1.FindDialog2Close(Sender: TObject); begin m:=0; end;
procedure TForm1.Opdater1Click(Sender: TObject); begin if ordbog='0' then exit; ordbogvalg; end;
procedure TForm1.FormCreate(Sender: TObject); var men: TMenuItem; i: integer; begin FindAll('data\ordbog*.txt',faAnyFile,form1.memo4.lines); listbox1.Items.LoadFromFile('data\ordbog1.txt'); memo1.Lines.loadfromfile('data\forklaringer1.txt'); ordbog:='1'; for i:=1 to memo4.lines.count do begin Men:=TMenuItem.Create(MainMenu1); n11.add(men); men.Name:='valg'+inttostr(i); case i of 1: men.Caption:='Synonymordbogen'; else men.Caption:='Ordbog '+inttostr(i); end; men.Tag:=i; men.OnClick:=ordvalg; end; BorderStyle := bstoolwindow; end;
procedure TForm1.ListBox1Enter(Sender: TObject); begin memo2.Lines.add(memo1.Lines[0]); end;
procedure TForm1.ordvalg(Sender: TObject); begin with Sender as TMenuItem do ordbog:=inttostr(tag); listbox1.Visible:=true; memo3.Visible:=false; memo2.Visible:=true; edit1.Visible:=false; edit2.Visible:=false; button1.Visible:=false; memo2.Clear; ordbogvalg; memo2.Lines.add(memo1.Lines[0]); end;
procedure TForm1.Button1Click(Sender: TObject); var NewList: tstringlist; i: integer; begin NewLIst:=tstringlist.Create; if edit1.text='' then exit; if edit2.text='' then exit; newlist.LoadFromFile('data\ordbog'+ordbog+'.txt'); newlist.Sort; if newlist.Find(' '+edit1.Text,i)=true then begin showmessage('Ordet er allerede inde i databasen'); edit1.Clear; edit2.Clear; edit1.Visible:=false; edit2.Visible:=false; button1.Visible:=false; listbox1.Visible:=true; memo3.Visible:=false; memo2.Visible:=true; exit; end; newlist.Add(' '+edit1.text+'.'); newlist.Sort; newlist.SaveToFile('data\ordbog'+ordbog+'.txt'); newlist.Clear; newlist.LoadFromFile('data\forklaringer'+ordbog+'.txt'); newlist.Insert(i,edit2.text+'.'); newlist.SaveToFile('data\forklaringer'+ordbog+'.txt'); newlist.Free; ordbogvalg; edit1.Clear; edit2.Clear; edit1.Visible:=false;; edit2.Visible:=false; button1.Visible:=false; listbox1.Visible:=true; memo3.Visible:=false; memo2.Visible:=true; end;
procedure TForm1.Redigerord1Click(Sender: TObject); begin ShellExecute(Handle,'open',PChar('data\forklaringer'+ordbog+'.txt'), pchar(''),pchar(''),SW_SHOWNORMAL); ShellExecute(Handle,'open',PChar('data\ordbog'+ordbog+'.txt'), pchar(''),pchar(''),SW_SHOWNORMAL); end;
procedure TForm1.ilfjordbog1Click(Sender: TObject); var men: TMenuItem; i: integer; begin memo4.Lines.Clear; FindAll('data\ordbog*.txt',faAnyFile,form1.memo4.lines); i:=memo4.Lines.Count; memo4.Lines.Clear; memo4.Lines.SaveToFile('data\ordbog'+inttostr(i+1)+'.txt'); memo4.Lines.SaveToFile('data\forklaringer'+inttostr(i+1)+'.txt'); Showmessage('Ordbog '+inttostr(i+1)+' er blevet tilføjet. Den vil være tilgængelig efter, at programmet har genstartet'); end;
procedure TForm1.Lille9101Click(Sender: TObject); begin listbox1.Font.Size:=9; memo2.Font.Size:=10; end;
procedure TForm1.Mellem10111Click(Sender: TObject); begin listbox1.Font.Size:=10; memo2.Font.Size:=11; end;
procedure TForm1.Stor11121Click(Sender: TObject); begin listbox1.Font.Size:=11; memo2.Font.Size:=12; end;
procedure TForm1.Megetstor12131Click(Sender: TObject); begin listbox1.Font.Size:=12; memo2.Font.Size:=13; end;
jeg har tænkt mig at give jer begge point. rigtig nok svarede han først, men du har hjulpet lidt mere, så jeg har tænkt mig at give 60 point til dig og 40 til ham.
nu er det jo ikke en konkurrence på viden. det handler om, hvem som hjælper mest. martin er også hjælpsom, men du har trods alt hjulpet mig mest her. vi kan godt sige, at I får lige mange point. hvis du endnu engang insisterer på, at jeg skal give ham alle pointene, skal jeg nok gøre det, men jeg synes nu, det er mest rimeligt, hvis du også får nogle.
IncludeTralingPathDelimiter(); Søger for at der er en backslass til sidst hvis den mangler :)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.