Avatar billede refpsych Nybegynder
09. januar 2002 - 23:38 Der er 27 kommentarer og
1 løsning

Spørgsmål om Functions

Kan jeg få mit program til at udfører en funktion ved at skrive navnet på denne i fx en textboks? 
Avatar billede ziron Nybegynder
09. januar 2002 - 23:39 #1
hmmm hvad er det for nogle funktioner du tænker på?

/ZIRON
Avatar billede ziron Nybegynder
09. januar 2002 - 23:41 #2
og det kan du jo godt, du kan bare lave en:

if memo1.text = \'kørdenne\' then
  begin
    Form1.kørdenne;
end;

/ZIRON
Avatar billede morten_s Nybegynder
09. januar 2002 - 23:42 #3
Hvad med en combobox hvor du kalder funktionerne i en case lykke
på ItemIndex ?
Avatar billede morten_s Nybegynder
09. januar 2002 - 23:43 #4
Ziron, det kræver at man staver funktionen rigtigt
Avatar billede ziron Nybegynder
09. januar 2002 - 23:43 #5
hvad med at skrive kode så du bare kan sige det ind i mic\'en :)

/ZIRON
Avatar billede ziron Nybegynder
09. januar 2002 - 23:44 #6
ja han spurgte jo også bare ik, men jeg ville nok selv vælge den med mic\'en :)

/ZIRON
Avatar billede morten_s Nybegynder
09. januar 2002 - 23:45 #7
Ja det var sku\' da bedre, trot lige jeg har en unit liggende
Avatar billede ziron Nybegynder
09. januar 2002 - 23:46 #8
okay det lyder godt, så dropper jeg det jeg lige er startet på...

/ZIRON
Avatar billede morten_s Nybegynder
09. januar 2002 - 23:49 #9
Men anyway, refpsych>

Du ved vel hvilke funktioner du har, snupen en combobox
skriv dine funktioner op under Items

på onclickeventet

Case MinCombo.ItemIndex of
  1 : Funktion1
  2 : Funktion2 osv
end
Avatar billede refpsych Nybegynder
09. januar 2002 - 23:51 #10
mic\'en? Hvad er det?

Det skal helst være dynamisk så hvis programmet modtager fx en liste over funktioner fra en dll kan man starte en af disse ved at skrive navnet på funktionon eller trykke på den i en combobox...
Avatar billede morten_s Nybegynder
09. januar 2002 - 23:53 #11
mic = microfon, han driller dig


Ja men du kan jo sagtens læse dine funktions navne dynamisk ind i en combobox
Avatar billede refpsych Nybegynder
09. januar 2002 - 23:54 #12
I mIRC kan man lave en dll selv og så skrive \"/dll navn.dll funktion\"
Det er det jeg vil lave...
Avatar billede morten_s Nybegynder
09. januar 2002 - 23:55 #13
  ComboBox1.Items.Add(  )

Og så kan du bruge ItemIndex til at kalde den pågæl funktion
Avatar billede refpsych Nybegynder
09. januar 2002 - 23:55 #14
Ja, men hvis jeg henter dem dynamisk hvordan ka jeg så kører dem?
Avatar billede morten_s Nybegynder
09. januar 2002 - 23:56 #15
kender ikke mIRC
Avatar billede morten_s Nybegynder
09. januar 2002 - 23:56 #16
Ja du ved vel i hvilken rækkefølge de ligger ?
Avatar billede morten_s Nybegynder
09. januar 2002 - 23:59 #17
Opret evt en array med de
navne som du skal kalde i dll, den kan du fylde dynamisk
og dit itemindex i comboboxen passer til array index
Avatar billede refpsych Nybegynder
10. januar 2002 - 00:00 #18
Ja okay....

Jeg har nogle funktioner i en combobox...

Func1
Func2
...

Jeg trykker på Func1
Trykker på en knap

Hvad skal jeg så skrive i koden for at Func1 bliver kaldt...

Avatar billede morten_s Nybegynder
10. januar 2002 - 00:02 #19
Måske du kan putte dem ind sådan her

for i := 1 to MaxFuncIDll do
begin
  ComboBox1.Items.Add(NavnPåFunction);
  DllArray.DllFunction[i] := \'Navnpå funktion + parametre\'
end;

og så på OnClickEventet på comboboksen har du dit itemIndex til din array
Avatar billede morten_s Nybegynder
10. januar 2002 - 00:04 #20
Hvad skal du skrive for at kalde din funktion i dll\'en ?
Avatar billede morten_s Nybegynder
10. januar 2002 - 00:06 #21
procedure TForm1.ComboBox1Click(Sender: TObject);
begin
  KaldDllFunktion(DllArray.DllFunction[ComboBox1.ItemIndex])
end;

Noget i denne stil hvis du opretter en funktion som kan kalde dine
funktioner i dll\'en ud fra den streng du gemmer i din array
Avatar billede refpsych Nybegynder
10. januar 2002 - 00:06 #22
Ja :) Men
for i := 1 to MaxFuncIDll do
begin
  ComboBox1.Items.Add(NavnPåFunction);
  DllArray.DllFunction[i] := \'Navnpå funktion + parametre\'
end;

Kalder jo ik fuctionerne...Jeg er med på hvordan jeg ka gemme dem men ik hvordan jeg ka klade en dynamisk funktion, for jeg ka jo ik lave fx en

Begin
  if (funcname = \'func1\') then
  Begin
  ...
  end;
end;

For navnene er jo ikke fastlagt...
Avatar billede refpsych Nybegynder
10. januar 2002 - 00:08 #23
\"Noget i denne stil hvis du opretter en funktion som kan kalde dine
funktioner\"

Det er den funktion jeg mangler! Det er det eneste... :)
Avatar billede morten_s Nybegynder
10. januar 2002 - 00:08 #24
Prøv at skriv et eksempel på hvordan du kalder en funktion i din dll
Avatar billede refpsych Nybegynder
10. januar 2002 - 00:12 #25
Min dll er det meningen at der ligger nogle funktioner:

Function Func1(Var1:string):String
Function Func2(Var1:string):String
...

Derud over skal der være en funktion der sender alle navnene på funktionerne i min dll til selve programmet hvor de gemme i en combo, array etc.

Jeg skal så bare ha en funktion der ka kalde funktionerne i dll\'en..

Hmm...Man ku seføli lave de if-sætninger i dll\'en, det ervel det eneste man kan?

Avatar billede morten_s Nybegynder
10. januar 2002 - 00:14 #26
kan du ikke lave det så du sender et nummer over i din dll
så ved du hvilken funktion der skal kaldes ?
Avatar billede refpsych Nybegynder
10. januar 2002 - 00:16 #27
Jow, det er vist det nemmeste... :)

Tak!
De points er da velfortjent :)

Jeg lukker her!
Avatar billede morten_s Nybegynder
10. januar 2002 - 00:17 #28
takker selv
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester