Avatar billede sbay Nybegynder
09. april 2003 - 12:50 Der er 20 kommentarer og
2 løsninger

Trim

Er der ikke en scriptfunction der kan fjerne mellemrum i en string?? FullTrim fjerner kun dobbelte mellemrum ikke enkelte, men jeg vil gerne have fjernet alle mellemrum????
Avatar billede hbhansen Nybegynder
09. april 2003 - 12:53 #1
Har endnu ikke hørt om en function der kan dette..
Der er nok ikke andet at gøre end at gennemløbe strengen og fjerne alle mellemrum manuelt med f.eks. en for ekker while løkke.
Avatar billede sbay Nybegynder
09. april 2003 - 12:57 #2
er det så med en LEFT eller noget lign.??? Kan ikke lige gennemskue det!
Avatar billede cdelicht Nybegynder
09. april 2003 - 12:58 #3
dim v as variant
dim doc as notesdocument

...set doc
V= Evaluate(|@Replace(| & doc.Felt(0) & |; " "; ""), doc|)
Avatar billede hbhansen Nybegynder
09. april 2003 - 13:01 #4
Det ved jeg godt nok desværre ikke..
Avatar billede sbay Nybegynder
09. april 2003 - 13:05 #5
Kan man ikke gøre sådan her!
stmp1 = " "
tmp = Strleftback(Doc.AssignmentNumber(0), stmp1)
DOCASS = a + tmp + Strrightback(Doc.AssignmentNumber(0), stmp1)+a
Avatar billede cdelicht Nybegynder
09. april 2003 - 13:12 #6
VIL du ikke se hvad jeg har skrevet ?? :-)))
Avatar billede sbay Nybegynder
09. april 2003 - 13:13 #7
cdlicht>> jojo, sad bare lige selv og eksperimenterede - din er også "pænere", men i længden er det vel det samme?
Avatar billede cdelicht Nybegynder
09. april 2003 - 13:19 #8
Overhoved ikke - Strleftback returnerer kun hvad der findes til højre for søgestrengen!!
Mit forslag returnerer hele den oprindelige streng, men uden " ".
Avatar billede sbay Nybegynder
09. april 2003 - 14:17 #9
det virker ikke!!!  Error 4044: Invalid formula (@Replace(BBJ0001; " "; ""), doc)
Avatar billede sbay Nybegynder
09. april 2003 - 14:19 #10
det virker ikke når der IKKE er melemrum.... Det skulle det egentligt gerne. Sådan at jeg bar efår fjernet mellemrum HVIS det er der!!!

Ellers virker det sikkert fint nok!
Avatar billede cdelicht Nybegynder
09. april 2003 - 14:26 #11
det er vigtigt, at du skriver formlen præcis som jeg angav, altså med |'er og det hele, ellers virker det ikke...........
Avatar billede sbay Nybegynder
09. april 2003 - 14:32 #12
hmmm. det ovenfor er taget fra skærmbilledet på AS400.... Så skal jeg måske have en masse flyvpinger ind i strengen????
Avatar billede sbay Nybegynder
09. april 2003 - 14:39 #13
tmp = Evaluate(|@Replace(| & Doc.AssignmentNumber(0) & |; " "; ""), doc|)
Avatar billede jogii Nybegynder
09. april 2003 - 19:25 #14
Problemet med cdelichts formel er at der mangler " og et | er placeret forkert.
Desuden tror jeg cdelicht mener @ReplaceSubstring og ikke @Replace. @Replace virker kun på elementer i lister.

tmp = Evaluate(|@ReplaceSubstring("|  & Doc.AssignmentNumber(0) & |"; " "; "")|, Doc)
burde virke
//Jörg
Avatar billede sbay Nybegynder
10. april 2003 - 13:35 #15
kan ikke få det til at virke! får stadig en type mismatch. Doc.AssignmentNumber er en STRING!
Avatar billede sbay Nybegynder
10. april 2003 - 13:50 #16
hvad gør de der lodrette streger??
Avatar billede cdelicht Nybegynder
10. april 2003 - 13:54 #17
Det samme som ", men det kan man ikke bruge her, da " indgår i formelen. Et andet alternativ er at bruge { }
Avatar billede jogii Nybegynder
10. april 2003 - 14:05 #18
Hvad giver følgende?

dim formula$
formula$ = {@ReplaceSubstring("}  & Doc.AssignmentNumber(0) & {"; " "; "")}
print formula$
tmp = Evaluate( formula$, Doc)

prøv ellers dette:

dim formula$
formula$ = {@ReplaceSubstring(AssignmentNumber; " "; "")}
print formula$
tmp = Evaluate( formula$, Doc)

Så overlader du det helt til @Formula også at hente værdien ud af AssignmentNumber. tmp vil være array, og hvis Assignmentnumber er en liste vil tmp også være et array med flere værdier.
Avatar billede sbay Nybegynder
10. april 2003 - 19:07 #19
04/10/2003 06:37:47 PM  AMgr: Agent ('AS400 - Export to BPCS ALL' in 'ITF/test/ServicerMultiLon2.nsf') printing: @ReplaceSubstring("BBJ0001"; " "; "")
04/10/2003 06:37:47 PM  AMgr: Agent ('AS400 - Export to BPCS ALL' in 'ITF/test/ServicerMultiLon2.nsf') error message: Type mismatch
Avatar billede sbay Nybegynder
10. april 2003 - 19:29 #20
Det skal lige siges at lige denne string ikke indeholder " ", men det er der andre der gør!
Avatar billede jogii Nybegynder
11. april 2003 - 09:22 #21
Jamen hvad er tmp erklæret som? tmp skal være en Variant.

her er noget kode du har skrevet før:

tmp = Strleftback(Doc.AssignmentNumber(0), stmp1)
DOCASS = a + tmp + Strrightback(Doc.AssignmentNumber(0), stmp1)+a

Hvis du anvender din kode som nedenunder vil det give TypeMismatch, da Evaluate afleverer i dette tilfælde et array og ikke en enkel værdi. Du skal referere til værdien ved tmp(0) for at få fat i første værdi.

En anden god ting er at anvende
On Error Goto ErrorHandler
i starten af din rutine

og sidst i din kode:
ExitSub:
    exit sub
ErrorHandler:
    Print "Error " & ERR & " in line " & ERL & ": " & ERROR
    'Resume ExitSub 'Hvis du vil ud af routinen ved fejl
    Resume Next ' Hvis du vil prøve at fortsætte alligevel
End Sub

Så vil du i loggen kunne se precist i hvilken linie det går galt.
Avatar billede sbay Nybegynder
28. maj 2003 - 10:02 #22
Tak for hjælpen ;-)
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
Computerworld tilbyder specialiserede kurser i database-management

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