SLE hör auf zu piepsen...!

Eigentlich ist mir die Frage peinlich, aber es kann sonst niemand helfen ... :)

Moderator: Moderatoren

GrillenHirni
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 116
Registriert: Do, 18. Jul 2013 11:56
Kontaktdaten:

SLE hör auf zu piepsen...!

Beitrag von GrillenHirni »

Ich bins wieder...

Oder versuche es zu werden...

Im Moment kämpfe ich mit der typsensitiven Erfassung in entsprechenden SLE's.

Durch diese Hölle muss man schliesslich auch mal gehen...

Ich möchte nicht dieses SLEPic verwenden - eigentlich glaubte ich mal, dass es nicht
so ein riesiger Aufwand wäre... Es ist auch eine schöne Arbeit, die Zeichen aufzufangen
und typgerecht zu prüfen - am meisten Spass macht es beim Typ Datum.

Das Problem wo ich hab: Der :editBuffer() ist in der Regel voll - ich muss das vom Benutzer
durch TastaturEingabe gewählte Zeichen in der betreffenden ZeichenKette einfügen... Wenns
geht, vorzugsweise an der richtigen Position.

Das geht soweit soso lala - ich hab dafür eine Methode, die in den Parametern
das zu verarbeitende Zeichen nKey (CHR(nKey)) entgegen nimmt.

Jetzt das tatsächliche Problem: wahrscheinlich weil der Buffer voll ist (es wird ein
Datum überschrieben), löst es bei jedem gedrückten Zeichen einen Ton aus. Den
muss ich irgendwieg vermeiden - ich glaub da stimmt irgend eine Einstellung
nicht und möchte natürlich meine Anwender nicht in den Wahnsinn treiben?

Selbstverständlich suche ich weiter, aber vielleicht kann auch jemand helfen...?

Schönen Abend!
GrillenHirni
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: SLE hör auf zu piepsen...!

Beitrag von AUGE_OHR »

GrillenHirni hat geschrieben: Di, 04. Jul 2017 19:12Im Moment kämpfe ich mit der typsensitiven Erfassung in entsprechenden SLE's.
du hast doch kein "normales" sondern ein "invisible GET" ...
GrillenHirni hat geschrieben:Jetzt das tatsächliche Problem: wahrscheinlich weil der Buffer voll ist (es wird ein
Datum überschrieben), löst es bei jedem gedrückten Zeichen einen Ton aus. Den
muss ich irgendwieg vermeiden - ich glaub da stimmt irgend eine Einstellung
siehe mal in die ...\SOURCE\SYS\GetSys.prg / GetSysX.prg

Code: Alles auswählen

            // Keine Zeichen mehr rechts vom Cursor
            IF oGet:typeOut            
               IF Set(_SET_BELL)       
                  QQOut( Chr(7) )
               ENDIF
SET BELL - Automatischen Warnton bei der Dateneingabe ein- oder ausschalten

Der Befehl SET BELL schaltet den automatischen Warnton bei der Dateneingabe während des READ Befehls ein oder aus. Ein Warnton wird erzeugt, wenn das letzte Zeichen im Editierpuffer eingegeben wurde oder wenn die Datenvalidierung mit der RANGE Option des @...GET Befehls fehlgeschlagen ist.
gruss by OHR
Jimmy
GrillenHirni
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 116
Registriert: Do, 18. Jul 2013 11:56
Kontaktdaten:

Re: SLE hör auf zu piepsen...!

Beitrag von GrillenHirni »

Hallo Jimmy

Danke für den Tipp mit set(_SET_BELL)...! Ich muss es dann grad mal
ausprobieren - ich vermute, dass der entscheidend helfen wird.

Was meinst Du, ich hab ein "invisible GET"...? Kenne ich nicht.

Also ich hab eigentlich kein GET - ich hab ein SLE und verarbeite
das eingegebene Zeichen in einem selbst gebastelten KeyHandler?

Beispiel:

:editBuffer()=*23.12.2016"

Der Anwender gibt an der ersten Position die Ziffer "3" ein.

Was jetzt eben stört ist der Ton - den versuch ich als nächstes mit
Deinem Tipp zu vermeiden - so ein TypeOut-Ereignis kann ich
da ja auch abfragen.

Grundsätzlich ist es ein interessantes Problem - abgesehen von diesem
Ton ging es bis jetzt beim prototypen ganz ordentlich -

Die Klasse von Hubert Brandel gucke ich mir auch gerne noch an - ich hab
jetzt dann Ferien und etwas Zeit, da rein zu kommen - sie scheint mir für
mich etwas schwerer lesbarer, als mein eigener Code, aber kompakter...
Bestimmt eine tolle Lösung...

Schönen Tag Euch allen!
GrillenHirni
GrillenHirni
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 116
Registriert: Do, 18. Jul 2013 11:56
Kontaktdaten:

Re: SLE hör auf zu piepsen...!

Beitrag von GrillenHirni »

Bis jetzt war mein Optimismus leider verfrüht...

Ich möchte ja den Ton fürs TypeOut ABschalten.

Warum funktioniert generell lAltSetBell:=SET(_SET_BELL,.F.)
nicht?

Über die in der Hilfe beim XbpSLE beschriebene Nachricht
xbeSLE_TypeOut ist es mir bis jetzt auch noch nicht gelungen,
diesen Pieps abzuschalten...

GrillenHirni
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: SLE hör auf zu piepsen...!

Beitrag von AUGE_OHR »

GrillenHirni hat geschrieben: Mi, 05. Jul 2017 11:26Warum funktioniert generell lAltSetBell:=SET(_SET_BELL,.F.) nicht?
hm ... verwendest du Threads ?
eigentlich sollte des default .F. sein.
... und Gültigkeit: Prozeßweit
GrillenHirni hat geschrieben:Über die in der Hilfe beim XbpSLE beschriebene Nachricht xbeSLE_TypeOut
"wo" hast du eine solche Nachricht gefunden ?

wie ich schon sagte "denke" ich das du kein normales XbpSLE hast sondern
...\SOURCE\samples\solution\xbpget\xbpget.prg verwendest.

Code: Alles auswählen

/*
 * InvisibleGet Server Klasse
 */
CLASS InvisibleGet FROM Get
somit hast du in deinem *.XPJ File auch ...\SOURCE\SYS\GetSys.prg / GetSysX.prg eingebunden und dort gibt es "BELL"

p.s. ich wüsste nicht wo sonst noch ein "BELL" ausgegeben werden sollte (was seit Vista über die Soundkarte kommt)
gruss by OHR
Jimmy
GrillenHirni
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 116
Registriert: Do, 18. Jul 2013 11:56
Kontaktdaten:

Re: SLE hör auf zu piepsen...!

Beitrag von GrillenHirni »

Hallo Jimmy...

Danke für Deine UnterStützung...!

Threads verwende ich keine...

BELL habe ich auf .F. gesetzt - müsste ja prozessweit sein -
trotzdem gibt es bei mir einen Ton - schon wenn ich bei einem
gefüllten EditBuffer auf der ersten Position ein Zeichen eingebe.

xbeSLE-TypeOut habe ich in meiner Hilfe beim XbpSLE gefunden:

xbeSLE_TypeOut Editierpuffer ist vollgeschrieben
Slot :typeOut := {| uNIL1, uNIL2, self | ... }
Methode :typeOut () --> self


Wenn ich in diesem Slot in eine Funktion ableite, ist
im Moment, wo das Programm in der betreffenden Funktion
- TypeOutTest(..) - ankommt, der Ton bereits ausgelöst.

XbpGet oder XbpGetX habe ich nicht eingebunden.

Ich habe im KeyBoard-Slot des SLE - XbpSLE:keyboard - einen
KeyHandler installiert, wo ich das eingegebene Zeichen
verarbeite...

Da gerade beim Typ Datum die EditierBuffer bereits voll
sind, kommt bei jedem Zeichen dieser PiepsTon...

Im Moment habe ich die Idee, dass ich XbpSLE:bufferLength
um ein Zeichen länger mache, als es brauchen würde und dann
das betreffende Zeichen an dieser Position im KeyHandler
"verschlucke"?

Herzliche Grüsse!
Grilli
georg
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2821
Registriert: Fr, 08. Feb 2008 21:29
Hat sich bedankt: 94 Mal
Danksagung erhalten: 13 Mal

Re: SLE hör auf zu piepsen...!

Beitrag von georg »

Hallo, Grilli -


in solchen Fällen schaffe ich erst einmal eine vereinfachte Umgebung mit den Standard-Xbase-Parts, ohne eigene Routinen.

Gibt es in dieser Konstellation das gleiche Problem, liegt es am Compilter.

Taucht das Problem nicht in einer vereinfachten Umgebung auf, dann liegt es an meinen Anpassungen.

Versuch es doch mal auf diese Weise!
Liebe Grüsse aus der Eifel,

Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: SLE hör auf zu piepsen...!

Beitrag von AUGE_OHR »

GrillenHirni hat geschrieben: Do, 06. Jul 2017 15:09 xbeSLE-TypeOut habe ich in meiner Hilfe beim XbpSLE gefunden:
xbeSLE_TypeOut Editierpuffer ist vollgeschrieben
Slot :typeOut := {| uNIL1, uNIL2, self | ... }
Methode :typeOut () --> self
ist das die v2.x ?
GrillenHirni hat geschrieben:XbpGet oder XbpGetX habe ich nicht eingebunden.
wir reden doch von deinem editierbaren Browse was XbpGetColumn() verwendet, oder ?
gruss by OHR
Jimmy
GrillenHirni
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 116
Registriert: Do, 18. Jul 2013 11:56
Kontaktdaten:

Re: SLE hör auf zu piepsen...!

Beitrag von GrillenHirni »

Hallo Georg, hallo Jimmy!

Eine vereinfachtes Modell - das schien mir ein guter Tipp von Georg -
hab ich dann versucht und bin zur subjektiven Erkenntnis gekommen:
der verlängerte EditBuffer ist nicht die optimale Lösung. Wenn das
eingegebene Zeichen von der Standardmethode XbpSLE:keyboard()
verarbeitet wird, dann kann ich zwar den Ton verhindern - nicht aber,
dass der Inhalt des Editbuffers nach hinten gerückt und das zu verarbeitende
Zeichen voran gestellt wird. Man könnte den EditBuffer anschliessend
mit STUFF und den ganzen Funktionen für die Stringverarbeitung
korrigieren - ich finde das zwar nicht unbedingt aufwändig aber
einen ziemlichen Chrampf.

Was ich da nicht verstehe, ist das der Ton trotz SET(_SET_BELL,.F.)
ausgelöst wird und ausserdem dass das zu verarbeitende Zeichen
in den EditBuffer übernommen wird - egal ob (XbpSLE:autoKeyboard=.F.)
oder (XbpSLE:autoKeyboard=.T.). Da hab ich ganz bestimmt etwas falsch
verstanden.

Nach dem Vorschlag von Georg glaube ich mit rudimentären Modellen
herausgefunden zu haben, das aktuell die beste Idee ist, die StandardMethode
XbpSLE:keyboard(nKey) zu überladen. In diesem Fall wird weder der Ton
ausgelöst, noch das Zeichen CHR(nKey) in den EditBuffer übernommen -
ich darf alles selbst bestimmen, und das ist das, was ich möchte...

Jimmy - ich hab glaub die Version 1.9355 - ich hab das Teil schon zwei Mal
lizenziert. Früher oder später werde ich schon upgraden... Sollte ich das
sofort tun...? Warum...?
wir reden doch von deinem editierbaren Browse was XbpGetColumn() verwendet, oder ?
An dieses Teil kann ich mich nicht selbst heran wagen - da habe ich zum Glück
kompetente Hilfe... Ich beschäftige mich mit der typsensitiven Eingabe in ein
ganz normales SLE...

Danke für Eure Hilfe und gute Nacht...
Grilli
Dateianhänge
KEINPIEP.txt
(3.85 KiB) 337-mal heruntergeladen
PIEP.txt
(3.16 KiB) 322-mal heruntergeladen
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: SLE hör auf zu piepsen...!

Beitrag von AUGE_OHR »

GrillenHirni hat geschrieben: Do, 06. Jul 2017 23:49 Ich beschäftige mich mit der typsensitiven Eingabe in ein ganz normales SLE...
uups ... das hatte ich falsch verstanden.
gruss by OHR
Jimmy
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: SLE hör auf zu piepsen...!

Beitrag von brandelh »

Ich dachte ich hätte das schon geschrieben ... aber ich finde es hier nicht :oops: also nochmal:

In der Wissensbasis habe ich verschiedene spezielle Ableitungen der SLE veröffentlicht (Datum, Zahlen, nur bestimmte Buchstaben, alles Groß etc.),
da kann man sehen wie man das macht:

:arrow: viewtopic.php?f=16&t=499&p=58188

oder diese direkt verwenden ;-)

Soweit ich mich erinnere kommt im keyboard slot nur an, was vorher nicht verarbeitet wurde, also nicht alle Zeichen (ich kann mich aber täuschen - ist schon lange her).
Zusätzlich besteht immer das Problem, dass dieser für andere Aktionen verwendet werden soll, daher ist nur der Weg über eine angepasste Klasse sinnvoll.

Wer es anders sehen will, soll das tun 8)
Gruß
Hubert
GrillenHirni
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 116
Registriert: Do, 18. Jul 2013 11:56
Kontaktdaten:

Re: SLE hör auf zu piepsen...!

Beitrag von GrillenHirni »

Hallo Hubert -

Inzwischen hab ich Ferien und die Gelegenheit, die
HB-Klasse anzugucken...

Naja - Bewertungen stehen mir eigentlich nicht zu ,
aber eine Meinung darf ich ja trotzdem haben:
für mich finde ich es ein super Teil und auch ein
gutes Demo...

Im Code sieht man schon, was für eine Arbeit
das sein gemusst haben sollte - da musstest
ganz schön rum "tracen" um jedes Zeichen
für jeden Typ abzufangen...

Ich habs erst mal gelinkt und ausprobiert -
dass ich es verwenden darf, finde ich total
super: danke...!

Heute geh ich aber noch ein bisschen die
Innereien besser angucken - besonders
gespannt bin ich allgemein, wie Du beim Typ
Datum die GültigkeitsPrüfung gelöst hast
und speziell, wie Du die GültigkeitsPrüfung
für die SchaltJahre gemacht hast...

Zu ForschungsZwecken werde ich meinen
Ansatz mit der überladenen Keyboard-Klasse
auch noch etwas weiter verfolgen...

Herzliche Grüsse!
Grilli
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: SLE hör auf zu piepsen...!

Beitrag von AUGE_OHR »

GrillenHirni hat geschrieben: Sa, 08. Jul 2017 9:54 wie Du beim Typ Datum die GültigkeitsPrüfung gelöst hast
und speziell, wie Du die GültigkeitsPrüfung für die SchaltJahre gemacht hast...
du musst nur prüfen "ob" du ein Datum hast

Code: Alles auswählen

FUNCTION Valid_Datum(cDatum)
LOCAL dDate 

IF EMPTY(cDatum)
   RETURN .F.
ELSE
   dDate := CTOD(cDatum)
   IF EMPTY(dDate)
      RETURN .F.
   ENDIF
ENDIF
RETURN .T.
gruss by OHR
Jimmy
GrillenHirni
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 116
Registriert: Do, 18. Jul 2013 11:56
Kontaktdaten:

Re: SLE hör auf zu piepsen...!

Beitrag von GrillenHirni »

Hallo Jimmy..

Ja - ich hab heute den halben Tag damit verbracht,
im Hubert seinem Code rum zu heuen und da hat sich
dieser Verdacht bei mir bestätigt...

Ich bin auch mit meiner eigenen Variante darauf
gekommen, dass die FUNCTION CTOD(..) diese
Prüfungen macht und gegebenenfalls ein
leeres Teil vom Typ Datum zurück liefert...

Ich bin entsetzt, wie einfach es ist, wenn man
drauf kommt...

Gibt es eigentlich einen Algorythmus, um
zu prüfen, ob es sich bei einer JahresZahl
und ein Schaltjahr handelt? Ich hab so eine
neblige Erinnerung, sowas mal gesehen zu
haben, aber im Moment krieg ich die Schublade
nicht auf...

In meiner Variante nehm ich das Datum
zeichenweise entgegen und muss bei jeder
Stelle prüfen, ob das Zeichen für die Position
gültig ist. Das musste der Hubert allerdings
im weiteren Sinn auch machen...

Aber am Schluss erspart die Prüfung auf CTOD(..)
dann natürlich ziemlich viel Aufwand - danke für
die Bestätigung...

Hiermit ernenne ich mich feierlich zu dem Hubert
seinem SLE-Minister - ich mach gleich eine Flesche
Wein auf und widme mich der betreffenden
BeförderungsZeremonie...

Vielen Dank für UnterStützung und herzliche Grüsse!
Grilli
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: SLE hör auf zu piepsen...!

Beitrag von AUGE_OHR »

GrillenHirni hat geschrieben: Sa, 08. Jul 2017 17:52 Gibt es eigentlich einen Algorythmus, um
zu prüfen, ob es sich bei einer JahresZahl
und ein Schaltjahr handelt?
JA, es gibt mehrere Möglichkeiten

Code: Alles auswählen

FUNCTION IsLeapYear(nYear)
LOCAL lValid   := .F.

IF !( nYear%4 == 0 )
    lValid = .F.
ELSEIF nYear%400 == 0
    lValid = .T.
ELSEIF nYear%100 == 0
    lValid = .F.
ELSE
    lValid = .T.
ENDIF
Return ( lValid )
wäre der Mathematische Ansatz.
nett finde ich auch diese Lösung mit CTOD()

Code: Alles auswählen

FUNCTION IsLeapYear(dDate)
  DEFAULT dDate TO Date()

  /* Attempt to create a date from February 29th in the year specified */
  dDate:=ctod("29.02."+str(Year(dDate)))

RETURN !empty(dDate)
gruss by OHR
Jimmy
Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2470
Registriert: Fr, 23. Dez 2005 8:00
Wohnort: Aalen
Hat sich bedankt: 102 Mal
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: SLE hör auf zu piepsen...!

Beitrag von Koverhage »

oder so

Code: Alles auswählen

function isSchaltjahr(dPruefDatum)
Local lRetCode := NO
default dPruefDatum to Date()
IF Mod( year(dPruefDatum), 4 ) = 0       // Is this leap year ?
   lRetCode := YES
ENDIF
return lRetCode
Gruß
Klaus
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16488
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: SLE hör auf zu piepsen...!

Beitrag von Martin Altmann »

Klaus,
das ist falsch (oder besser: ungenügend) :!:
Lies mal nach, was ein Schaltjahr auszeichnet - es darf nicht nur durch vier teilbar sein! Es gibt da auch noch die Einschränkung mit teilbar durch 100 und 400.

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
georg
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2821
Registriert: Fr, 08. Feb 2008 21:29
Hat sich bedankt: 94 Mal
Danksagung erhalten: 13 Mal

Re: SLE hör auf zu piepsen...!

Beitrag von georg »

Hallo, Klaus -


Jimmy's Funktion ist ein wenig mehr korrekt ... Alle durch 400 ohne Rest teilbaren Jahre sind ebenfalls Schaltjahre, alle durch 100 ohne Rest teilbaren Jahre sind keine Schaltjahre: https://de.wikipedia.org/wiki/Schaltjahr

Kommt zwar selten vor, und 2000 passte auch, wäre die Regel anders, hätten da viele Programme Probleme gehabt ...
Liebe Grüsse aus der Eifel,

Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
GrillenHirni
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 116
Registriert: Do, 18. Jul 2013 11:56
Kontaktdaten:

Re: SLE hör auf zu piepsen...!

Beitrag von GrillenHirni »

Guten Morgen...!

Ich hab die ganze Nacht an der typsensitiven Erfassung in
einem SLE rum gepröbelt und Breaking Bad geguckt...

Darum ist bei mir noch Morgen...

Da kann ich beim zweiten Kaffee grad mal staunen, und das
Schaltjahr scheint ja verhältnismässig einfach berechenbar
zu sein...?

Muss ja sein, weil auch die Funktion CTOD erbringt ja diese
Leistung irgendwie. Aus Jimmies erster Lösung geht für
mich der Algorythmus hervor, im Gegensatz zu seiner zweiten
Lösung... Dem Klaus sein Ansatz ist für mich auch interessant -
wie man es auch machen kann - die anderen Fälle kann man
da ja CASE-weise noch reinpfleumeln - ich nehm im ZweifelsFall
sowieso eher CASE als IF, damit ich es besser lesen kann, wenn
ich es im nächsten SchaltJahr, welches durch 100 teilbar ist,
wieder angucke...

Georg - die Menge "ein wenig mehr korrekt" kam bisher
in meinem ForschungsLabor nicht vor... Das ist genial -
hast Du das von Heisenberg...? Ich meine den Mathematiker -
nicht den aus Breaking Bad...

Schönen Sonntag und herzliche Grüsse...
Grilli
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: SLE hör auf zu piepsen...!

Beitrag von brandelh »

Mit Xbase PUR kann man auch einfach darauf vertrauen (in den XbTools gab es eine funktion), dass es KEINEN 29.02. akzeptiert, wenn es KEIN Schaltjahr ist ;-)

Positiv ausgedrückt, wenn ctod("29.02."+substr(dtoc(date()),7)) leer ist, ist es kein Schaltjahr, sonst ist es eins.

OH DIESE TIPPFEHLER ... habe ich verbessert :roll:
Gruß
Hubert
Benutzeravatar
Wolfgang Ciriack
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2932
Registriert: Sa, 24. Sep 2005 9:37
Wohnort: Berlin
Hat sich bedankt: 13 Mal
Danksagung erhalten: 34 Mal
Kontaktdaten:

Re: SLE hör auf zu piepsen...!

Beitrag von Wolfgang Ciriack »

Ich denke ctod("29.02."+substr(dtoc(date()),7)) leer ist
Viele Grüße
Wolfgang
Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2470
Registriert: Fr, 23. Dez 2005 8:00
Wohnort: Aalen
Hat sich bedankt: 102 Mal
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: SLE hör auf zu piepsen...!

Beitrag von Koverhage »

Martin,
habe nichts gefunden, kannst Du mir ein Beispiel mit 100 und 400 zeigen ?
Unabhängig davon: Außer Jan (Ahnenforschung) interessiert es wohl kaum jemanden
ob vor oder in 400 oder 100 Jahren ein Schaltjahr ist. Zumal wenn man schon korrekt
ist, sollte auch berücksichtigt werden ab wann es diese Regelung überhaupt gibt.
Gruß
Klaus
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16488
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: SLE hör auf zu piepsen...!

Beitrag von Martin Altmann »

Steht alles in dem link von Georg:
Wikipedia hat geschrieben:Der bis 1582 übliche Julianische Kalender fügt genau alle vier Jahre einen Schalttag ein. Dann hat der Februar 29 statt 28 Tage und das Jahr 366 statt 365 Tage. Im gregorianischen Kalender entfallen in 400 Jahren drei dieser Schalttage. Dadurch ist das Kalenderjahr im Durchschnitt dem die Jahreszeiten bestimmenden Sonnenjahr (Tropisches Jahr) besser (bis auf knapp eine halbe Minute) angepasst.
Gelten tut dies seit dem 15. Oktober 1582

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21150
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: SLE hör auf zu piepsen...!

Beitrag von Manfred »

Koverhage hat geschrieben: Mo, 10. Jul 2017 7:22 Martin,
habe nichts gefunden, kannst Du mir ein Beispiel mit 100 und 400 zeigen ?
Unabhängig davon: Außer Jan (Ahnenforschung) interessiert es wohl kaum jemanden
ob vor oder in 400 oder 100 Jahren ein Schaltjahr ist. Zumal wenn man schon korrekt
ist, sollte auch berücksichtigt werden ab wann es diese Regelung überhaupt gibt.
Hallo Klaus,
ist das nicht eine gewagte These? Was ist mit dem Jahr 2000? Das war erst vor "kurzem" und hat sicherlich (wenn auch aus anderem Grund) für sehr viel Wirbel und Kosten im EDV Bereich geführt.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2470
Registriert: Fr, 23. Dez 2005 8:00
Wohnort: Aalen
Hat sich bedankt: 102 Mal
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: SLE hör auf zu piepsen...!

Beitrag von Koverhage »

Ich meinte ein Datum als Beispiel, welches durch 100 oder 400 teilabr ist aber nicht durch 4
Gruß
Klaus
Antworten