Avatar billede laasby Nybegynder
16. marts 2005 - 22:03 Der er 27 kommentarer og
5 løsninger

Streng som index i Introduce Del 2

Da jeg gerne vil tildele points til jasman for tidligere besvarelse, samt høre broholm om hvordan han løser "Streng som index i Introduce" (og ligeledes give ham point oprettes hermed et nyt spørgsmål med mulighed for at tildele points.

Endvidere kommer der 30 point mere i puljen, således at der er mulighed for at præmiere endnu bedre forslag.

/Laasby
Avatar billede jasman Nybegynder
16. marts 2005 - 22:09 #1
Kom nu Broholm.

Jeg dirrer af forventning ;)
Avatar billede Broholm Novice
16. marts 2005 - 22:10 #2
Fair nok - her kommer det:

STR 30 &Nummer="49450265"
STR 30 &Kontoindex="KontoIdx"

STR 30 &Feltnavn = "Navn"

SET &MacroText = &Nummer
INTRODUCE DebKart[RecId==SysInfo(1250,'DebKart['+&Kontoindex+==&MacroText].RecId']

// Til Mariaf
PRINT DebKart.(FieldName2Id(FileNum(DebKart),&Feltnavn))
PAUSE
Avatar billede Broholm Novice
16. marts 2005 - 22:11 #3
Sorry.. Jeg fandt lige en fejl

STR 30 &Nummer="49450265"
STR 30 &Kontoindex="KontoIdx"

STR 30 &Feltnavn = "Navn"

SET &MacroText = &Nummer
INTRODUCE DebKart[RecId==Str2Int(SysInfo(1250,'DebKart['+&Kontoindex+==&MacroText].RecId'))]

// Til Mariaf
PRINT DebKart.(FieldName2Id(FileNum(DebKart),&Feltnavn))
PAUSE
Avatar billede Broholm Novice
16. marts 2005 - 22:11 #4
Og hvis du også først kender kartoteket runtime, så kan det også lade sig gøre...
Avatar billede Broholm Novice
16. marts 2005 - 22:18 #5
Endnu en fejl... Måske skulle jeg lave det i C5 istedet for i hovedet...

INTRODUCE DebKart[RecId==Str2Int(SysInfo(1250,'DebKart['+&Kontoindex+'==&MacroText].RecId'))]
Avatar billede jasman Nybegynder
16. marts 2005 - 22:22 #6
Jeg synes ikke

PRINT SysInfo(1250,'DebKart['+&Kontoindex+'==&MacroText].RecId')

virker.

Den virker godt nok til matematiske udtryk med både konstanter og variabler, men jeg synes ikke det virker med direkte opslag.
Avatar billede Broholm Novice
16. marts 2005 - 22:25 #7
Du skal huske at sætte &MacroText til &Nummer inden...
Avatar billede jasman Nybegynder
16. marts 2005 - 22:31 #8
Ok, Broholm har ret.
Men husk som jeg skrev i del 1 af dette spørgsmål (http://www.eksperten.dk/spm/600719) at strengværdier skal omgives af " og derfor skal man anvende

\"'+&MacroText+'\"

istedet for

'+&MacroText+'




STR 30 &Feltnavn = "Navn"

INTRODUCE DebKart[RecId==Str2Int(SysInfo(1250,'DebKart['+&Kontoindex+'==\"'+&MacroText+'\"].RecId'))]

// Til Mariaf
PRINT DebKart.(FieldName2Id(FileNum(DebKart),&Feltnavn))
PAUSE

vil virke
Avatar billede Broholm Novice
16. marts 2005 - 22:35 #9
Nej! Det er lige netop derfor at jeg bruger &MacroText. SysInfo(1250) kan 'se' de globale variabler direkte. Derved undgår man problemer med ' og " i variablelværdien.

Jeg bruger ikke

'+&MacroText+'

Jeg bruger

&MacroText
Avatar billede Broholm Novice
16. marts 2005 - 22:38 #10
&MacroText        => DebKart[KontoIdx==&MacroText].RecID
'+&MacroText+'    => DebKart[KontoIdx==49450265].RecId  <--- Syntax-fejl
\"'+&MacroText+'\" => DebKart[KontoIdx=="49450265"].RecId <--- Problemer, hvis der er " i &macrotext
Avatar billede jasman Nybegynder
16. marts 2005 - 22:42 #11
Ok. Got it. ;)
Avatar billede Broholm Novice
16. marts 2005 - 22:42 #12
Then gimme ;-)
Avatar billede jasman Nybegynder
16. marts 2005 - 22:43 #13
Øhm... det skal du sige til laasby ;)
Avatar billede jasman Nybegynder
16. marts 2005 - 22:44 #14
Laasby: givehim ;)
Avatar billede Broholm Novice
16. marts 2005 - 22:44 #15
Du må sige til, hvis du vil have den med runtime-bestemmelse af kartoteket
Avatar billede Broholm Novice
16. marts 2005 - 22:44 #16
Ha ha... Sorry :D
Avatar billede laasby Nybegynder
16. marts 2005 - 23:06 #17
Hvis trickset med runtime-bestemmelse af kartoteket kommer, er der fuldt point til broholm

Er alle enige om det (især jasman)?

/Laasby
Avatar billede Broholm Novice
16. marts 2005 - 23:08 #18
Hey! Det var ikke en aftalen :-)
Avatar billede laasby Nybegynder
16. marts 2005 - 23:09 #19
Undskyld - Så misforstod jeg
Avatar billede laasby Nybegynder
16. marts 2005 - 23:10 #20
Der kommer 60 til broholm og 30 til jasman

No bad feelings - I hope
Avatar billede laasby Nybegynder
16. marts 2005 - 23:11 #21
Jeg kan ikke finde ud af at give points - håber at det går
Avatar billede Broholm Novice
16. marts 2005 - 23:11 #22
Ha ha.. Nej nej - bare rolig :D
Avatar billede Broholm Novice
16. marts 2005 - 23:12 #23
Men opskriften er COMMON + SysInfo(1250)
Avatar billede Broholm Novice
16. marts 2005 - 23:12 #24
<--- Du skal bare klikke ude ved svaret her
Avatar billede laasby Nybegynder
16. marts 2005 - 23:14 #25
Ah - nu forstår jeg.

jasman - Du skal lige skrive et svar, så du kan få point for dit første svar (som lovet tidligere).
Avatar billede laasby Nybegynder
16. marts 2005 - 23:16 #26
Jeg går ud fra at jeg ikke kan fordele points før jeg har fået et svar fra jasman

Ja undskyld, men jeg er som tidligere skrevet helt ny her.

/Laasby
Avatar billede jasman Nybegynder
16. marts 2005 - 23:53 #27
Ok.
Et svar.
Avatar billede laasby Nybegynder
17. marts 2005 - 00:15 #28
Her er point - Tak for hjælpen
Avatar billede laasby Nybegynder
18. marts 2005 - 10:37 #29
Hm... I må bære over med mig ang. points. Jeg kan ikke lige finde ud af at dele dem som jeg gerne vil (60/30). Jeg prøver igen, og håber at det lykkedes.

Giv mig lige besked hvis det var forkert.

/Laasby
Avatar billede laasby Nybegynder
18. marts 2005 - 10:38 #30
Sorry broholm - Hvad gør man så ? Opretter et nyt spørgsmål og giver point derefter ?
Avatar billede Broholm Novice
18. marts 2005 - 12:22 #31
Det går nok :D
Avatar billede dma Nybegynder
19. marts 2005 - 10:40 #32
Tak til broholm og jasman for en meget interessant løsning! Den var undgået min opmærksomhed!
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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