01. februar 2001 - 13:21Der er
4 kommentarer og 2 løsninger
Shellexecute fra memofelt i database
Hvis jeg fra et \"knapklik\" udfører nedenstående: Shellexecute(handle,\'open\',\'C:\\DC1\\node-1.gif\',nil,nil,sw_show); får jeg en åbning af en ønsket fil. Jeg har lavet en database, hvor jeg i et memofelt ønsker at have nogle filhenvisninger.Jeg vil nu gerne - stedet for at trykke på en specik knap for hver filhenvisning kunne kopiere filhenvisningen fra memo-feltet til shellexecuteordren og åbne en hvilken som helst af filhenvisningerne i de forskellige memofelter ved hjælp af nogle få knaptryk. Kan ikke selv helt gennemskue hvordan det skal skrues sammen der er mulighed for Memo1.Lines... og osse nogle nogle copy/past.to/from.clipboard fra memofeltet, men hvordan man får det ind i shellexecuteordren må jeg hjælpes med. Eer begynder m.h.t. Delfi endnu.Vil derfor helst have lidt udførlige forklaringer fremfor de forblommede hentydninger der bruges mellem de mere rutinerede programmører.
for Cnt := 0 to Memo.Lines.Count-1 do begin Shellexecute(handle,\'open\',Memo.Lines[Cnt],nil,nil,sw_show); // Memo.Lines[Cnt] - indeholder én filhenvisning end;
Noget i den retning, dette eks. åbner alle henvisninger, så du skal nok in og finde udaf hvor du har kliket med musen, det er noget med mousedown og så en x/y pos som kan laves om til en line pos med en funk. der hedder MouseToCell(x,y)
procedure TForm1.Button5Click(Sender: TObject); var cnt: integer; begin for Cnt := 0 to DBMemo1.Lines.Count-1 do begin Shellexecute(handle,\'open\',PChar(DBMemo1.Lines[Cnt]),nil,nil,sw_show); // Memo.Lines[Cnt] - indeholder én filhenvisning // Shellexecute(handle,\'open\',PChar(memo1.lines[1]),nil,nil,sw_show);
Janbb hvis du ønsker at det skal virke via click med musen findes der en richedit98 component som vil kunne hjælpe dig til at lave det på en meget nem måde.
Jeg er simpelthen bare så tilfreds med såden som det virker.Hvis jeg skulle beklage mig over noget er det at den ene linie jeg får ind med ovenstående kode bevirker at hvis filhenvisningen overstiger 1 linie får jeg den ikke ind - men det er jo sjældent, men forekommer desværre ind imellem.
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.