Autor Thema: String zur Zeit , Lotus Script  (Gelesen 5045 mal)

Offline Akunin

  • Junior Mitglied
  • **
  • Beiträge: 82
String zur Zeit , Lotus Script
« am: 26.08.08 - 09:14:59 »
Hi, ich hab folgendes Problem

ich hab einen Agent programmiert der sich aus einer Email die Anfangszeit und den Endzeit auslesen soll und in ein Dokumentschreiben soll.

Zeit_von
Zeit_bis

so, später will ich allerdings noch mit den Zeiten rechnen, problem ist hier bei nur das die als String wiedergegeben werden. Hab ich mir gedacht ich probiers mal mit Cdat, dort werden sie mir allerdiings mit "0:00" angezeigt, egal was in der Mail steht.

meine Frage also nun, was kann ich machen damit ich die Strings als Uhrzeit wiedergeben kann und später noch damit rechnen kann ?

botschi

  • Gast
Re: String zur Zeit , Lotus Script
« Antwort #1 am: 26.08.08 - 09:23:18 »
Mit der NotesDateTime-Klasse und adjust.

Matthias

Offline Akunin

  • Junior Mitglied
  • **
  • Beiträge: 82
Re: String zur Zeit , Lotus Script
« Antwort #2 am: 26.08.08 - 10:26:09 »
hm, so wie ich das in der Hilfe gelesen hab kann man da ja nur mit festen Zeit arbeiten oder bzw nur mit "Now", also der jetzigen,

ich brauch aber den Zeit die in der Mail steht z.b. 

Zeit_v = 8:15
Zeit_b = 9:00

diesen Wert brauch ich dann als Zeit

ich habs jetzt mal mit
Evaluate("@TextToTime(Zeit_v)")
und
Evaluate("@TextToTime(Zeit_vb")

aber auch hier bekomm ich bei beiden 00:00:00 als ergebniss

die Rechnung erfolg erst später in ner Ansicht, aber die ist nicht das problem

botschi

  • Gast
Re: String zur Zeit , Lotus Script
« Antwort #3 am: 26.08.08 - 10:32:43 »
Du kannst die Variable doch so füllen:

Dim dt As New NotesDateTime("DEINEZEIT")

Dann hast Du doch alle Möglichkeiten (AdjustDay, AdjustSecond, DateOnly, TimeOnly, usw.)


Matthias

Offline Akunin

  • Junior Mitglied
  • **
  • Beiträge: 82
Re: String zur Zeit , Lotus Script
« Antwort #4 am: 26.08.08 - 11:56:57 »
jo gut, aber wenn ich nur die Variable mit der Zeit einsetzte

Code
Dim dt As New NotesDateTime("Zeit_v")

dann zeigt er mir ebenso keinen Inhalt :(

Offline m3

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
Re: String zur Zeit , Lotus Script
« Antwort #5 am: 26.08.08 - 12:13:42 »
Code
  Dim dateTime As New NotesDateTime("")
  dateTime.LocalTime = Datenumber(2005, 03, 04) + Timenumber(8,15, 0)
  Call dateTime.SetAnyDate

Bernhard, was meinst Du ?
HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai

botschi

  • Gast
Re: String zur Zeit , Lotus Script
« Antwort #6 am: 26.08.08 - 12:24:05 »
Du musst halt Datum und Zeit angeben, gib ihm doch irgendein Datum mit...
m3, was meinst Du damit?

Matthias

Offline Akunin

  • Junior Mitglied
  • **
  • Beiträge: 82
Re: String zur Zeit , Lotus Script
« Antwort #7 am: 26.08.08 - 12:25:13 »
ok, problem hat sich erledigt, aber ne gute lösung dafür gefunden, danke für eure ratschläge

botschi

  • Gast
Re: String zur Zeit , Lotus Script
« Antwort #8 am: 26.08.08 - 12:26:08 »
Wie sieht denn die Lösung aus?

Matthias

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: String zur Zeit , Lotus Script
« Antwort #9 am: 26.08.08 - 12:28:38 »
Prinzipiell: Es ist die schlechteste Idee, die man haben kann, Date-/Time-Werte in Strings abzuspeichern.
Was jetzt folgt, gilt auch nur, wenn der Client, der den unseligen String gebildet hat, mit den gleichen länderspezfischen Einstellungen lief wie der, der jetzt die Konvertierung durchführen soll.

Selbstverständlich kann man Strings, die korrekt einen Datums-/Zeitwert darstellen, mit Cdat in ein Variant des Typs 7 wandeln, ebenso funktioniert die Bildung eines NotesDateTime-Objekts.

Beispiel:
Gegeben sei ein Feld "DateString", Typ String, Inhalt "8:15".
Der folgende Code gibt dann korrekt "08:15:00" aus, der Variant ist vom Typ 7 und korrekt gefüllt:
Code
Sub Click (Source As Button)
	
	Dim ws As New NotesUIWorkspace
	Dim doc As NotesDocument
	Dim vDT As Variant
	
	Set doc = ws.CurrentDocument.Document
	vDT = Cdat (doc.DateString (0))
	
	Messagebox vDT
	
End Sub

Benötigt man zum Weiterrechnen nur die Uhrzeit, zieht man sich einfach den Fraction-Part.

Bernhard

Offline Akunin

  • Junior Mitglied
  • **
  • Beiträge: 82
Re: String zur Zeit , Lotus Script
« Antwort #10 am: 26.08.08 - 12:34:09 »
jop, genau so wie Bernhard es erklärt hat, hab ichs jetzt auch und funktioniert problemlos
« Letzte Änderung: 28.08.08 - 11:23:09 von Akunin »

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz