-
Gesamte Inhalte
41 -
Benutzer seit
-
Letzter Besuch
Inhaltstyp
Profile
Forum
Downloads
Kalender
Blogs
Shop
Alle Inhalte von Don.Zwiebel
-
Hi Leute, vielleicht weiß einer von euch da eine Lösung? Mit Suche und Google bin ich leider nicht wirklich fündig geworden. Mit der Windows-API kann ich wunderbar den an einem Rechner angemeldeten Benutzer auslesen. ("GetUserNameA") Jetzt würde ich aber gerne noch weitere Informationen die diesen Benutzer betreffen, wie z.B. die Mail-Adresse auslesen. Jetzt wüßte ich gerne, ob Windows eine API - Funktion mitliefert, die das kann? Ich bräuchte die zugehörige DLL und den Funktionsnamen. Ich verwende den Gupta Team Developer. (Nicht abschrecken lassen, ich kann Windows DLLs ohne Probleme einbinden!)
-
Weiß zufällig jemand, wie ich die Windows API - Funktion "GetUserNameA" korrekt in Centura einbinde? Bis jetzt sieht es so aus. Aber sobald ich die Fkt. aufrufe bricht das Programm ab... Library name: advapi32.dll ThreadSafe: No Function: GetUserNameA Description: GetUserName Export Ordinal: 0 Returns Number: LONG Parameters String: LPSTR Number: LONG Vor dem Aufruf setze ich den Puffer für den String noch auf 255.
-
In den External Functions musst du die shell32.dll einbinden, und dann die ShellexecuteA wie folgt deklarieren (die Syntax unten ist VB und muss noch in Gupta angepasst werden!): Declare Function ShellExecuteA Lib "shell32.dll" ( _ ByVal hwnd As Long, _ ByVal lpOperation As String, _ ByVal lpFile As String, _ ByVal lpParameters As String, _ ByVal lpDirectory As String, _ ByVal nShowCmd As Long) As Long Beachte, die Parameter der neuen Function müssen exakt mit den hier angegebenen übereinstimmen, d.h. NAME und TYP. Was die Parameter im einzelnen bedeuten kannst du in der Online MSDN bei Microsoft nachschauen. Wichtig: Shellexecute führt eine Date aus. Wenn keine Anwendung mit dieser Verknüpft ist führt es auch zu nichts. Alternativ könntest du SalLoadApp* probieren. Das ist direkt in Gupta integriert (m.E. auch in 1.51.)
-
Schau dir mal bOk = SalWinHelp( hWnd, strFile, nCommand, nData, strData ) an. Da kannst du eine Hilfe starten, die mit dem Ms Windows SDK erstellt wurde. Die zugehörige Message ist SAM_Help. Ansonsten könntest du die Datei auch mit ShellExecute direkt ausführen, was meiner Meinung nach aber nicht ganz so schön ist. Den Team Developer benutzt man am Schnellsten mit der Native DB (Gupta SqlBase). Wichtig bei unterschiedlichen DBs ist natürlich, dass entsprechende Performance ich sag mal "Tweaks", die jede DB unterschiedlich handhabt auch verwendet werden, sodass es was bringt. Bei der Gupta SQLBase wären das z.B. die Clustered Hashed Indizes bei kleinen Datenmengen, deren Größe innerhalb eines bestimmten definierbaren Rahmens bleiben wird. (z.B. Anreden, etc.). Außerdem sollten Statements immer so geschrieben sein, dass die DB möglichst wenig Arbeit damit hat, usw.
-
GUPTA - SQLBase - Team Developer Ansonsten wird es ziemlich schwierig. Wenn du aus der Nähe von Erfurt oder München kommst könntest eine Einstiegsschulung bei MD Homepage - Home machen, aber das wars dann m.E. auch schon so an Informationsquellen. Ach ja. Such mal nach Gupta (oder Centura) team Developer. Da ist ab und zu auch was in den Goole - Groups. Aber da es ein Nischenprodukt ist, sind die Infos im www nicht gerade reichhaltig.
-
FIAEs, welche Sprache "sprecht" ihr?
Don.Zwiebel antwortete auf Hero4Hire's Thema in Ausbildung im IT-Bereich
Gupta (ehemals Centura) Team Developer 4.2, in der Ausbildung die Version 3.1. -
Bewertung Arbeitszeugnis
Don.Zwiebel antwortete auf Don.Zwiebel's Thema in Jobsuche, Bewerbung und Zeugnisse
Ich habe versucht mich auf die wichtigen Aussagen zu beschränken. Insgesamt ist das Ganze noch etwas länger. Wobei es sich fürs erste nur um einen Korrekturabzug handelte. Bin mal auf das echte Zeugnis gespannt. -
Hallo Leute, ich könnte guten rat bei diesem Zeugnis gebrauchen: ... Herr Zwiebel war ein motivierter Mitarbeiter, der die ihm gesetzten Ziele zielstrebig realisierte. ... Das kommt irgendwie so motivationslos daher ??? ... Er war ein im positiven Sinn sachkritischer Mitarbeiter, der hinsichtlich der Arbeitsabläufe gut durchdachte Anregungen machte und realisierte. ... Das klingt irgendwie seltsam finde ich. Auch konnte mir keiner sagen was das zu bedeuten hat (in Zeugnisdeutsch). Nur, das man sowas heute wohl nicht mehr schreibt. Der Autor des Zeugnisses ist der Meinung, das wäre unbedingt wichtig das drin zu lassen, da es sonst als "ausgelassen" negativ auffallen würde. ... Seine Führung war tadellos. Herr Zwiebel verhielt sich stets korrekt und fügte sich gut in die Arbeitsgemeinschaft ein. Hervorzuheben ist auch seine jederzeit gute Zusammenarbeit mit unseren Kunden, auf deren Anliegen er flexibel und serviceorientiert einging. ... Da fehlt mir irgendwie was in der Form: Herr Zwiebel verhielt sich gegenüber Vorgesetzten, Kollegen und Kunden (stets) korrekt und fügte sich gut in die Arbeitsgemeinschaft ein. Oder sollte das "stets korrekt" schon aussagefähig genug sein? :confused: ... Seine Aufgaben hat er stets zu unserer vollen Zufriedenheit erfüllt. ... Das ist ne Zwei. Für mich soweit okay. So ich hoffe, dass ich nicht so total mit meiner Meinung daneben liege. Danke schonmal für evtl. Tipps! Der Don
-
Ja genau. Werde es mal so probieren. Danke!
-
Hallo Leute, ich habe ein Problem mit Oracle 10. Jedesmal, wenn ich versuche ein Alter session set optimizer_goal ... auszuführen kommt eine Fehlermeldung, die besagt, das Optimizer_goal veraltet wäre. Heißt das, das Ganze funktioniert unter Oracle 10 nicht mehr ??? Danke
-
Der größte "Ich packe meinen Koffer"-Thread
Don.Zwiebel antwortete auf lynx's Thema in Coffeehouse's Themen
Ich packe meinen Koffer und nehme eine Gitarre, ein Plektrum, ein Notenheft, eine Hilti-Bohrmaschine, einen Stromgenerator , die Mona Lisa , einen Pinsel, ein paar Ohrschützer, einen Teller, den Teddy, den Verstärker, meinen Kuschelbär, einen großen Koffer ,ein Notebook, eine Kamera mit Weitwinkel, einen Hartz IV Antrag, eine Tube Fertigsilikon, den neuen Bestseller: Wie fülle ich den Hartz IV Antrag richtig aus, eine Tadelkrabbe (was oder wer auch immer das ist ), ein paar DVD's, "ein paar Golfschlaeger", ZeroQools Schnitte, eine fettige Wurstsemmel, eine Balkonpflanzen, einen Elternzettel, schönen, kühlen Kasten Bölkstoff und eine weibliche Tadelkrabbe,ein Stück Realität,Sauerstoff zum Atmen, eine Spassbremse, ein Seil, chickies Quietsche-Ente, einen Kalender, einen Schleusenwärter, eine Schleuse, vakuum verpackte Nüsse, ein Weizenmischbrot, chickies Bernd das Brot DVD kollektion, ennos MG-F, eine umfangreiche Ersatzteilsammlung für Ennos MG-F einen Schlüsselsatz(zum reparieren), und etwas was repariert werden muss, gaaaaaanz viel gutes Wetter, einen Notfallregenschirm, magoos Sammlung kleiner, oxydierender Metallteile, den gaaaaaaaanz wichtigen The Hitchhiker's Guide to the Galaxy, einen Babelfisch, ein Stück Seife, eine komplette Sammlung Micky Mouse Hefte, ein Laserschwert und den Spaceballs Flammenwerfer (die Kids stehen drauf), zur Inventarisierung des ganzen Gerödels, S...66, inclusive ihrer rattenscharfen Highheels, die Smileysammlung hier vom Fachinformtatiker Forum, meine ZRX 1200, eine Z1000 zum (richtigen) Motoradfahren, eine Packung Papiertaschentücher fürs rotekügelchen, ne große Packung Lollis für die Kinder, ne XVS1100A fürs entspannte Cruisen, eine Hand voll mit Wollmäuse ,einen Hühnchendrehgrill, natürlich ein Handtuch,das dazugehörige Handbuch, eine Packung gesalzene Erdnüsse, Rudi das Rennschwein, einen Flummi, einen Besucherparkplatz, das Haus von raubkatze, Lisas Mona, den Louvre, damit die Mona einen würdigen Platz hat, einen x-Wing-Fighter, R2D2 für den X-Wing, C3PO, die Freiheitsstatue, ein paar Ohrenschützer, eine Flasche Grog, eine Tube Lederpflegemittel für den Koffer, Kunstschnee aus der Dose, 1 Mio. Euro, Captain Kirk, eine Schildkröte, einen, der das duchliest, einen Kunstexperten der die echt Mona Lisa erkennen kann, einen, der ein Mona Lisa in Lisas Mona ändert und dann mit dem Kunstexperten einen heben geht, einen Wolpertinger und einen Roten Knopf mit der Aufschrift "nicht drücken" mit. -
[Sql Server 2000] inserted / deleted mit Text bei AFTER Trigger
Don.Zwiebel antwortete auf Don.Zwiebel's Thema in Datenbanken
Also das Problem an der Sache ist folgendes: Ich brauche einen AFTER - Trigger, der an einer Tabelle durchgeführte Änderungen feldweise speichert (pro geänderter Column einen Datensatz). Um auf die alten / neuen Werte zuzugreifen verwende ich die Tabellen inserted und deleted. Aus den gesammelten Informationen setze ich mir einen Insert - String zusammen, den ich mit exec(@sql) ausführen will. Wenn ich in diesem String inserted / deleted verwende, versteht der Sql Server das aber nicht und gibt "Ungültiger Objektname: inserted" zurück. Wenn ich aber ein Feld vom Typ Text, nText oder Image habe, funktioniert "select * into #ins from inserted" nicht mehr und ich muss es irgendwie schaffen das Text - Feld anhand der INFORMATIONSCHEMES von der Überwachung auszuschließen, da ich die Felder nicht manuell eingeben möchte, sondern anhand des Tabellennamen ermittle. Das ganze funktioniert wunderbar, bis ein Feld vom Typ Text in der Tabelle auftaucht. Das darf bei AFTER - Triggern nicht über inserted / deleted gelesen werden. ALTERNATIV: Wie kann ich das Statement, das ein INSTEAD OF - Trigger abfängt ausführen, nachdem ich es evtl. geprüft oder modifiziert habe ? Kann ich das Statement irgendwoher bekommen ? Ich weiß, Fragen über Fragen ! -
Hi folks, Tabelle: a int, b int, c int, d text Ich brauche das: select * into #ins from inserted in dieser Form: select *(ohne Text / nText / image - Felder ) into #ins from inserted. Ich habe versucht einen String wie folgt zusammenzubauen: (INFORMATIONSCHEMES) select @sql = 'select a,b,c into #ins from inserted' exec(@sql) Nach dem Ausführen kommt die Fehlermeldung das inserted nicht bekannt ist. Wie kann ich das umgehen / lösen ? Thx.
-
Hallo Leute, weiß jemand von euch, ob ich das Ereignis beim Scrollen in einer Listbox (Vertikal) irgendwie abfangen kann ? Es geht darum eine bestimmte Menge von Datensätzen einzufügen, und wenn ein bestimmter Punkt in der LB erreicht ist weitere Punkte nachzureichen. Gibt es eine WM_ Message dafür, auf die eine Listbox reagiert ? Oder funktioniert das Ganze mit WM_VSCROLL ? Danke! Stefan
-
[Centura] Dynamische Menüs mit Visual ToolChest
Don.Zwiebel erstellte Thema in Delphi/RPG+CL/Sonstige
Hi Leutz, weiß zufällig jemand, wie man mit Den Visual Toolchest Funktionen dynamisch Menüs erstellen kann ? folgende Struktur sollte möglich sein: Datei | |- Öffnen -> Dateityp A Dateityp B Das ganze soltle nicht mit dem Menu-Editor oder in der Outline vordefiniert werden. VisMenuInsertItem funktioniert zwar, aber nur bis zum Punkt Öffnen. Die Unterpunkte funktionieren nicht. Wie kann das gelöst werden ? Gruß Don Zwiebel -
Interpretation meines Zeugnisses
Don.Zwiebel antwortete auf Jacek's Thema in Jobsuche, Bewerbung und Zeugnisse
Das Problem bei diesen Zeugnissen ist nur: Kennt derjenige der es schreibt die versteckte Bedeutung der Floskeln, oder meint er es so wie es da steht ? Denn viele wissen gar nicht, was damit gemeint ist! Ansonsten schließe ich mich Michael an! Der Don -
[ODBC][Oracle] Maximale Statement Größe
Don.Zwiebel antwortete auf Don.Zwiebel's Thema in Datenbanken
Das Problem mit SQLPlus ist nur, dass der Puffer für Statements da noch kleiner ist (2000 Zeichen oder so)! Wie funktioniert Logminer ? Ist das ein extra Programm ? -
[ODBC][Oracle] Maximale Statement Größe
Don.Zwiebel antwortete auf Don.Zwiebel's Thema in Datenbanken
Also die Variable ist ein LongString (bis 2MB) und passt auch im Debug - Modus. Über auditing ist es aber so ohne weiteres auch nicht möglich Änderungen an den Tabellen zu überwachen (wer wann welchen alten und neuen Wert geändert hat, usw.) Jedenfalls bin ich damit nicht weiter gekommen. -
[ODBC][Oracle] Maximale Statement Größe
Don.Zwiebel antwortete auf Don.Zwiebel's Thema in Datenbanken
Also: Wir haben ein Programm, das die Zugriffe auf die Tabellen überwachen soll. Da man bei Oracle keinen Trigger, der sich dynamisch (für jede Tabelle geeignet!) die Feldnamen holt und damit die :OLD. und :NEW. Werte holt wird von unserem Tool die Tabellenstruktur ausgelesen und für jede Tabelle ein Trigger von diesem Format generiert: CREATE OR REPLACE TRIGGER ##TRIGGERNAME## AFTER ##OPERATIONS## ON ##TABLENAME## FOR EACH ROW BEGIN ##FIELDS## /* Dadurch ist ##FIELDS## für jedes Feld zu ersetzen: IF (:OLD.##FIELDNAME## IS NOT NULL AND :NEW.##FIELDNAME## IS NOT NULL AND :OLD.##FIELDNAME## <> :NEW.##FIELDNAME##) OR (:OLD.##FIELDNAME## IS NULL AND :NEW.##FIELDNAME## IS NOT NULL) OR (:OLD.##FIELDNAME## IS NOT NULL AND :NEW.##FIELDNAME## IS NULL) THEN INSERT INTO LOGBUCH (TABNAME, OLDVALUE, NEWVALUE, EDITNAME, EDITDATE, BEA_LOGIN, BEA_DATUM, UPDATE_NO) VALUES ('##TABLENAME##',:OLD.##FIELDNAME##, :NEW.##FIELDNAME##, USER, SYSDATE, 'KOLIBRI', SYSDATE, 1); END IF; */ COMMIT; END; Das Problem ist nun, das bei einigen Tabellen mit vielen Columns der Trigger über 73.000 Zeichen lang wird. Der Trigger ändert sich nicht ständig, sondern wird nur einmal angelegt. Vorschläge ? -
[ODBC][Oracle] Maximale Statement Größe
Don.Zwiebel antwortete auf Don.Zwiebel's Thema in Datenbanken
Das Problem dabei ist, dass der Trigger auf etwa 8.000 Zeichen gekürzt wird (von den 73.000) Nur warum ? :confused: :confused: :confused: -
[ODBC][Oracle] Maximale Statement Größe
Don.Zwiebel antwortete auf Don.Zwiebel's Thema in Datenbanken
Abstürzen tut die Anwendung nicht. Der Trigger wird so lang, da er dynamisch angelegt wird und die Tabelle weit über 100 Felder hat und jedes Feld überwacht wird. -> Trigger wächst und wächst. -
Hallo Leute, wie groß ist die maximale Größe, die ein Datenbankstatement mit ODBC haben darf ? Ich weiß, das es eine Funktion SqlGetInfo gibt, jedoch nicht, wo ich diese finde. Irgendwelche Tipps ? Wie kann ich die maximale Größe für Statements ändern ? Das Problem: Erstellung eines Triggers mit 73.000 Zeichen (Oracle) Danke Don.Zwiebel
-
Hi Folks, gibt es eine Einschränkung in der Länge eines Datenbankstatements, das ausgeführt werden soll ? Ich habe einen Long String mit etwa 73.000 Zeichen, der in etwa so aussehen soll: CREATE OR REPLACE TRIGGER ##TRIGGERNAME## AFTER ##OPERATIONS## ON ##TABLENAME## FOR EACH ROW BEGIN ##FIELDS## /* Dadurch ist ##FIELDS## für jedes Feld der Tabelle zu ersetzen: IF (:OLD.##FIELDNAME## IS NOT NULL AND :NEW.##FIELDNAME## IS NOT NULL AND :OLD.##FIELDNAME## <> :NEW.##FIELDNAME##) OR (:OLD.##FIELDNAME## IS NULL AND :NEW.##FIELDNAME## IS NOT NULL) OR (:OLD.##FIELDNAME## IS NOT NULL AND :NEW.##FIELDNAME## IS NULL) THEN INSERT INTO LOGBUCH (TABNAME, OLDVALUE, NEWVALUE, EDITNAME, EDITDATE, BEA_LOGIN, BEA_DATUM, UPDATE_NO) VALUES ('##TABLENAME##',:OLD.##FIELDNAME##, :NEW.##FIELDNAME##, USER, SYSDATE, 'KOLIBRI', SYSDATE, 1); END IF; */ COMMIT; END; Wenn ich jedoch den Trigger prüfe ist er fehlerhaft und wenn ich ihn auslese und die Länge prüfe erhalte ich nur etwa 8.000 Zeichen. Bin ratlos :confused: Irgendwelche Ideen ? Darth_Zeus vielleicht ? Gruß Don.