2013-06-12 2 views
0

J'écris l'agent Lotusscript, comment puis-je dire que je dois prendre de la valeur dans le caractère de l'espace de droite? Par exemple, cela prend valeur dans le droit de /:Caractère spatial LotusScript

fld9.Value = StrRight(Cstr(doc.request(0)), "/") 

mais si je mets l'espace au lieu de /, il ne fonctionne pas. Ai-je besoin d'écrire un code?

Merci

Répondre

1

Il fonctionne avec un espace " " sûr. Je suppose que votre expression Cstr(doc.request(0)) ne contient pas d'espace car Cstr() convertit par ex. numéros à la chaîne sans un espace.

Si vous voulez obtenir le temps d'une valeur date/heure sous forme de chaîne puis mieux utiliser format():

fld9.Value = Format(doc.request(0), "hh:nn:ss") 
+0

Merci Knut, je suis en train de date distincte de temps qui sont dans une ligne dans ce format: 06/18/2010 01:09:15. J'ai extrait la date, mais je ne peux pas prendre de temps et la mettre dans une colonne séparée dans ma base de données relationnelle. – user1880405

+0

Réponse éditée pour date/heure valeur –

+0

Juste essayé, mon code: fld3.Value = Format (doc.Created (0), "Long Time") Et vient tableau d'erreur avec rien écrit du tout. Par exemple, c'est ainsi que j'extrais la valeur DATE: fld2.Value = doc.Created. Par ailleurs, j'ai oublié de mentionner qu'il ya AM/PM à la fin des temps, si cela fait une différence. – user1880405

2

Etes-vous sûr que le personnage que vous voulez trouver un espace et pas un autre caractère espace ?

Si c'est un espace, cela fonctionnerait comme dans votre exemple:

fld9.Value = StrRight(Cstr(doc.request(0)), " ") 

Ou, pour être plus souple

Dim strSpace as String 
strSpace = Chr$(20) 
fld9.Value = StrRight(Cstr(doc.request(0)), strSpace) 

Pour le savoir, ce que vous avez là, vous prenez une chaîne (que vous le savez sans doute) et faire ceci:

Dim strSpaceChar As String 
Dim lngAsc as Long 
strSpaceChar = Mid$("Your String with a space", 5, 1) 
' 5 = Position of the "space" character, 1 = Number characters 
lngAsc = Asc(strSpaceChar) 

Si lngAsc <> 20 alors vous devez r eplace strSpace dans l'exemple ci-dessus avec le bon caractère ...

S'il y a peut-être des "espaces" différents dans le texte et que vous ne savez pas avant l'exécution, alors faites un tableau avec toutes les variations connues d '"espace" (l'exemple ci-dessous considérerait les nouvelles lignes et un nbsp HTML comme des espaces)

Dim arrSpaces(3) as String 
arrSpaces(0) = Chr$(10) 
arrSpaces(1) = Chr$(13) 
arrSpaces(2) = Chr$(0) 
arrSpaces(3) = Chr$(160) 

et le remplacer par un espace « réel » ...

myString = Replace(Cstr(doc.request(0)) , arrSpaces , Chr$(20)) 

EDIT en raison d'un nouveau genre de question: il y a classes pour gérer les valeurs Date/Heure. Vous pouvez faire quelque chose comme:

Dim dtRequest as NotesDateTime 
Dim strDate as String 
Dim strTime as String 
Set dtRequest = New NotesDateTime(doc.request(0)) 
strDate = dtRequest.DateOnly 
strTime = dtRequest.TimeOnly 
+0

Merci beaucoup, va essayer ça! – user1880405