Ersatz für INDEX ON

Alle Fragen um die Programmierung, die sich sonst nicht kategorisieren lassen. Von Makro bis Codeblock, von IF bis ENDIF

Moderator: Moderatoren

Werner
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 123
Registriert: Sa, 18. Mär 2006 16:08

Ersatz für INDEX ON

Beitrag von Werner »

Hi!

Bevor alles noch närrischer wird, hätte ich noch eine einfache Programmierfrage: Der Befehl INDEX ON führt offenbar unter WINDOWS 7 in der 64-Bit Version zu einer Fehlermeldung. Wie kann ich diesen Befehl ersetzen?

Mein Quelltext lautet z.B. wie folgt:

Code: Alles auswählen

use vs_grund ALIAS GRUND EXCLUSIVE
INDEX ON GRUND->zname to vs_name
SET INDEX to vs_name

DbGotop()

SET SOFTSEEK ON
SEEK (suchname)

satzx := recno()

if found()
obsx := suchname
endif

@ 2,1 DCBROWSE oBrowse ALIAS 'GRUND'

DCBROWSECOL FIELD GRUND->zstatis
Mir wurde von einem Freund empfohlen, INDEX ON durch ORDCREATE() zu ersetzen. Ich weiss aber nicht, wie ich dies machen soll und wie ich letztendlich den Datensatz greifen kann, auf dem der Suchbalken gerade steht.

Kann mir jemand dazu eine möglichst einfache, nicht närrische Antwort geben? Ich habe nämlich von Indizes keine Ahnung!

Allaf und Helau!

Werner
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14662
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 88 Mal
Kontaktdaten:

Re: Ersatz für INDEX ON

Beitrag von Jan »

Hallo Werner,

OrdCreate() erstellt keine neue Indexdatei, sondern einen neuen Index in einer vorhandenen Indexdatei. Das muß also vom Index unterstützt werden. ntx kann das nicht, aber cdx. Das hat den Vorteil, das Du zu jeder dbf nur eine einzige Indexdatei hast, macht das Ganze übersichtlicher. Und Du öffnest nur einen Index, auf die beinhalteten Indizee kannst Du dann ganz einfach zugreifen. DbSeek() bietet als Parameter an, den zu nutzenden Index anzugeben. Nutze ich inzwischen nahezu ausschließlich, dann ist es egal, welcher Index gerade aktiv ist, die Suche nimmt immer den korrekten.

Welche Fehlermeldung kommt denn unter Windows 7 64 Bit? Fehlen da einfach nur die Rechte, oder was?

Jan (ohne Alaaf und Helau, bin Anti-Karnevalist!)
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21248
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 211 Mal
Danksagung erhalten: 71 Mal

Re: Ersatz für INDEX ON

Beitrag von Manfred »

Jan,

mach ihn nicht verrückt. Ordreate() erzeugt sehr wohl eine Datei, wenn keine da ist.
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
Jan
Marvin
Marvin
Beiträge: 14662
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 88 Mal
Kontaktdaten:

Re: Ersatz für INDEX ON

Beitrag von Jan »

Stimmt.

Ich benutze das ausschließlich mit cdx-Indizee. Und da mit den Mehrfach-Indizee. Aber wenn man die Doku weiterliest (was ich für meine Bedürfnisse nie brauchte) dann steht da in der Tat, das bei eine DBE, die nur einfach-Indizee unterstützt, wirklich nur dieser Einfachindex erstellt wird.

Also kann INDEX ON in der Tat einfach durch OrdCreate() ausgetauscht werden.

Ich frage mich nur, wo unter Windows 7 64 Bit da der Unterschied liegen sollte. Deswegen kam ich auch auf den Gedanken, das eventuell für die Neuerstellung einer Indexdatei die Rechte fehlen, wenn die aber schon existiert, dort ein neuer Unterindex eingefügt werden kann.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Herbert
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1991
Registriert: Do, 14. Aug 2008 0:22
Wohnort: Gmunden am Traunsee, Österreich
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Ersatz für INDEX ON

Beitrag von Herbert »

Jan, du verwirrst mit deinen Nebensätzen. Es geht nicht um irgendwelche Unterindexe, was du immer damit meinst.

Bei Verwenden von DBFNTX macht INDEX ON ganz bestimmt keine Fehler und muss nicht ersetzt werden. So was.

Beim Erstellen von .CDX-Dateien wird OrdCreate mit OrdListAdd verwendet.

Aber schau mal hier: http://www.xbaseforum.de/viewtopic.php?f=32&t=4997
Grüsse Herbert
Immer in Bewegung...
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14662
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 88 Mal
Kontaktdaten:

Re: Ersatz für INDEX ON

Beitrag von Jan »

Herbert,

da muß ich Dir widersprechen. Ich arbeite grundsätzlich mit OrdCreate(), und erstelle damit die Indexdatei inkl. der beinhalteten Indize (ich arbeite mit cdx). Parameter 1 ist der Dateiname, Parameter 2 der Indexname. Besteht die Datei aus Paramter 1 bereits, wird einfach nur der Index aus Paramter 2 hinzugefügt.

OrdListAdd() macht etwas komplett anderes - das fügt Indize aus einer Indexdatei einer Workarea hinzu.

Das Ersetzen von INDEX ON durch OrdCreate() habe ich ja ebenfalls hinterfragt. Ich sehe den Sinn nicht. Aber Werners Freund hatte das vorgeschlagen.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Herbert
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1991
Registriert: Do, 14. Aug 2008 0:22
Wohnort: Gmunden am Traunsee, Österreich
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Ersatz für INDEX ON

Beitrag von Herbert »

Ja, weil du CDX erstellst, die mehrere Indexe in einer Datei führen können.
OrdListAdd erwänhnte ich im Zusammenhang mit OrdCreate beim Erstellen von .CDX-Mehrfachindex und diente als Erklärung, dass OrdCreate prinzipiell mit .CDX sinnvoll ist. Aber mit .NTX eigentlich nicht.
Aber die Frage war weder die nach Mehrfachindexe noch Unterindexe noch um Parameter des DbSeek...

...sondern ganz eine Transparente:
Jan hat geschrieben:

Code: Alles auswählen

use vs_grund ALIAS GRUND EXCLUSIVE
INDEX ON GRUND->zname to vs_name
SET INDEX to vs_name
Der Befehl INDEX ON führt offenbar unter WINDOWS 7 in der 64-Bit Version zu einer Fehlermeldung. Wie kann ich diesen Befehl ersetzen?
Meine ebenso transparente Antwort heisst: nein, da dies keinen Fehler produziert, auch nicht auf 64-bit-Systemen.

Diese Frage von dir ist aber sehr berechtigt und noch unbeantwortet.
Jan hat geschrieben:Welche Fehlermeldung kommt denn unter Windows 7 64 Bit? Fehlen da einfach nur die Rechte, oder was?
Grüsse Herbert
Immer in Bewegung...
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16586
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 116 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: Ersatz für INDEX ON

Beitrag von Martin Altmann »

Moin Werner,
Werner hat geschrieben:

Code: Alles auswählen

use vs_grund ALIAS GRUND EXCLUSIVE
INDEX ON GRUND->zname to vs_name
SET INDEX to vs_name
lasse die Zeile SET INDEX to vs_name einfach weg! Der Index, den Du mit INDEX ON erzeugt hast, ist danach eh' aktiv.

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
Herbert
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1991
Registriert: Do, 14. Aug 2008 0:22
Wohnort: Gmunden am Traunsee, Österreich
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Ersatz für INDEX ON

Beitrag von Herbert »

oh, jetzt wo Martin das scheibt:
Was ist vs_name? Eine Variable mit character-Inhalt?
...dann

Code: Alles auswählen

INDEX ON GRUND->zmane TO (vs_name)
die Variable muss in Klammer stehen!
Grüsse Herbert
Immer in Bewegung...
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15710
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 73 Mal
Danksagung erhalten: 38 Mal
Kontaktdaten:

Re: Ersatz für INDEX ON

Beitrag von brandelh »

Hi,

Vorschlag zur Güte ...

INDEX ON ... schreiben
xpp ... /P aufrufen und nachsehen, wie Xbase++ das übersetzt :wink:

die PPO Datei zeigt, dass Xbase++ fast alle Befehle nach Funktionen übersetzt.

DbCreateIndex() wird aufgerufen und laut Hilfe zu dieser
Die Funktion DbCreateIndex() besteht aus Gründen der Kompatibilität. Anstelle von DbCreateIndex() sollte die Funktion OrdCreate() verwendet werden.
Die Index-Funktion OrdCreate() erzeugt einen Index in einer Workarea. Wenn die Funktion ohne Aliasoperator verwendet wird, generiert sie den Index in der aktuellen Workarea. Die Funktion arbeitet ähnlich wie DbCreateIndex(), ermöglicht aber, mehrere Indizes pro Index-Datei zu generieren.
Sind beide grundsätzlich verwendbar, wobei OrdCreate() mehrere Indexe in eine Datei packen kann, soweit die DBE das unterstützt: NTX nein, CDX ja ;-)

Der Fehler muss also andere Ursachen haben, z.B. ...

Code: Alles auswählen

use vs_grund ALIAS GRUND EXCLUSIVE
INDEX ON GRUND->zname to vs_name
SET INDEX to vs_name
könnte der USE fehlschlagen und NETERR() .t. setzen. Die Datei ist somit nicht offen und INDEX ON wird in einer workarea ohne DBF aufgerufen.
MERKE: Auch in einer Einzelplatzanwendung muss nach USE und APPEND BLANK immer eine Abfrage auf NETERR() folgen !
Gruß
Hubert
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12913
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 46 Mal

Re: Ersatz für INDEX ON

Beitrag von AUGE_OHR »

Werner hat geschrieben:Der Befehl INDEX ON führt offenbar unter WINDOWS 7 in der 64-Bit Version zu einer Fehlermeldung. Wie kann ich diesen Befehl ersetzen?
in welchem Verzeichniss hast du deine Application installiert ?

hast du in die "Umgebungsvariablen" TMP=<Verzeichnis> gesetzt ?
Im TMP Verzeichnis werden temporäre Dateien angelegt, z.B. wenn INDEX ON oder DbSort() ausgeführt wird.
gruss by OHR
Jimmy
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15710
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 73 Mal
Danksagung erhalten: 38 Mal
Kontaktdaten:

Re: Ersatz für INDEX ON

Beitrag von brandelh »

Genau, und alle Unterverzeichnisse von c:\programme sind für normale Anwender schreibgeschützt und das ist auch gut so !
Gruß
Hubert
Werner
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 123
Registriert: Sa, 18. Mär 2006 16:08

Re: Ersatz für INDEX ON

Beitrag von Werner »

Hi!

Zunächst vielen Dank für die vielen Hinweise, um mein o.g. Problem mit INDEX ON zu lösen!

Ich wollte noch die genaue Fehlermeldung nachtragen, die unter Windows 7 in der 64 Bit-Version (und nur dort) aufkommt wenn ich z.B.

OrdCreate("vs_name",,"zname")

verwende:

Fehler BASE/4
Beschreibung:Betriebssystemfehler
Operation: OrdCreate
Threat ID: 1
Betriebssystem 1

Ich habe mich schon gefragt, ob ich zur Nutzung des Befehls OrdCreate vielleicht noch eine besondere .CH Datei mit #INCLUDE einbinden müsste. Wenn ja, aber welche?

Gruß Werner
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16586
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 116 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: Ersatz für INDEX ON

Beitrag von Martin Altmann »

Moin Werner,
das ist einfach: Du hast kein Recht, in dem Zielordner zu schreiben!
Entweder (wie bereits gepostet) ist Deine Umgebungsvariable TMP und TEMP nicht oder falsch gesetzt oder Du hast die Dateien in einem Ordner liegen, die der gesonderten Berechtigungsarie unter 7 unterliegen - z.B. im Profil des Users oder und "\Program Files".
Trifft davon etwas zu?

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
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15710
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 73 Mal
Danksagung erhalten: 38 Mal
Kontaktdaten:

Re: Ersatz für INDEX ON

Beitrag von brandelh »

dann müsste der Fehler aber auch bei Vista und 32 Bit Win 7 auftreten, dort gelten dei selben Zugriffsregeln.

Teile uns doch bitte das genaue Verzeichnis mit (Laufwerk + Pfad),
dann mache ein ? getenv("temp") und teile uns das Ergebnis mit ...

Error 1 = Unzulässige Funktion ...

Bei einem Rechteproblem hätte ich eher mit "Zugriff verweigert" = 5 gerechnet.
Gruß
Hubert
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16586
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 116 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: Ersatz für INDEX ON

Beitrag von Martin Altmann »

Moin Hubert,
den Fehler hatte ich auch schon mal - da war T(E)MP nicht gesetzt.

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.
Werner
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 123
Registriert: Sa, 18. Mär 2006 16:08

Re: Ersatz für INDEX ON

Beitrag von Werner »

Helau!

Ich bin das noch einmal mit dem Betriebssystemfehler bei Windows 7!

Kann mir jemand sagen, wie und wohin ich diese obskure Umgebungsvariable TMP setzen soll? Vielleicht hilft mir ein Beispiel weiter!

Gruß Werner
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16586
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 116 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: Ersatz für INDEX ON

Beitrag von Martin Altmann »

Moin,
auf das (hoffentlich vorhandene) Temp-Verzeichnis! Unter meinem Windows7 ist das:
TEMP=C:\Users\Martin\AppData\Local\Temp
TMP=C:\Users\Martin\AppData\Local\Temp

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
Herbert
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1991
Registriert: Do, 14. Aug 2008 0:22
Wohnort: Gmunden am Traunsee, Österreich
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Ersatz für INDEX ON

Beitrag von Herbert »

Wie gehabt:
Computer / Eigenschaften / Erweiterte Systemeinstellungen, Knopf "Umgebungsvariablen"
Dort ist bei den Benutzervariablen TEMP und TMP zu finden. Meiner Meinung nach sollten diese schon dort stehen, und dein Problem ist nicht darauf zurückzuführen...
Grüsse Herbert
Immer in Bewegung...
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15710
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 73 Mal
Danksagung erhalten: 38 Mal
Kontaktdaten:

Re: Ersatz für INDEX ON

Beitrag von brandelh »

Wobei diese in Win7 normalerweise unter Benutzer stehen und für jeden Benutzer unterschiedlich sind.
Gruß
Hubert
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21248
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 211 Mal
Danksagung erhalten: 71 Mal

Re: Ersatz für INDEX ON

Beitrag von Manfred »

Wie unter Benutzer?
das Menue ist das gleiche. Oben steht für den Benutzer und darunter wird allgemein eingestellt.
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
Herbert
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1991
Registriert: Do, 14. Aug 2008 0:22
Wohnort: Gmunden am Traunsee, Österreich
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Ersatz für INDEX ON

Beitrag von Herbert »

brandelh hat geschrieben:Wobei diese in Win7 normalerweise unter Benutzer stehen und für jeden Benutzer unterschiedlich sind.
..sein können
Wenn du nichts umdefinierst, steht der Windows-Default da.
Grüsse Herbert
Immer in Bewegung...
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15710
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 73 Mal
Danksagung erhalten: 38 Mal
Kontaktdaten:

Re: Ersatz für INDEX ON

Beitrag von brandelh »

Hi,

unter Win7 - zumindest in 64 bit - steht da genau das da:

%USERPROFILE%\AppData\Local\Temp

Das ist ja auch OK, ich wollte nur darauf hinweisen, falls man woanders sucht ;-)
Gruß
Hubert
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9394
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 105 Mal
Danksagung erhalten: 364 Mal
Kontaktdaten:

Re: Ersatz für INDEX ON

Beitrag von Tom »

Oder so:

Code: Alles auswählen

FUNCTION GetTempPath()
LOCAL cTempPath := ''
LOCAL nBuffSize := 261
LOCAL sBuffer := Replicate(chr(0),261)
GetTempPathA(nBuffsize, @sBuffer)
cTempPath := Trim(StrTran(sBuffer,chr(0),''))
RETURN cTempPath

DLLFUNCTION GetTempPathA( buffsize, @buffer ) USING STDCALL FROM KERNEL32.DLL
Herzlich,
Tom
Werner
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 123
Registriert: Sa, 18. Mär 2006 16:08

Re: Ersatz für INDEX ON

Beitrag von Werner »

Hallo Martin!

Dein Tipp war goldrichtig! Nachdem wir unsere Files aus dem Ordner Programmfiles herausgenommen hatten, läuft unsere .EXE jetzt auch unter Windows 7 auf der 64-Bit Version. Vielen Dank noch einmal für diesen heißen Tipp!

Überhaupt wollte ich mich einmal auch bei allen anderen Kolleginnen (gibt es die überhaupt ?) und Kollegen bedanken, die immer schnell mit zielführenden Tipps bereit stehen. Das ist schon toll, dass es sowas gibt!!!! Zumindest für so ein Greenhorn wie mich!
Deshalb für Euch alle hier einmal: Ein dreifach donnerndes "Allez-Hopp!" "Allez-Hopp!" "Allez-Hopp!", wie das im Saarland heißt!

Und nachdem das eine Problem gelöst ist, kommt natürlich schon das nächste daher: Wenn ich jetzt mein altes Windows XP hochfahre,kommt zweimal eine Fehlermeldung zu KERNEL32.DLL. Diese lautet wie folgt:

Der Prozedureinsprungspunkt "SMapLS" wurde in der DLL "KERNEL32.dll" nicht gefunden"

Wo kann hier der Fehler liegen?

Ich bedanke mich im Voraus!

Gruß Werner
Antworten