-
Gesamte Inhalte
161 -
Benutzer seit
-
Letzter Besuch
Über Boro
- Geburtstag 13.04.1978
-
Wie versprochen, die vollständige (aber leider nicht perfekte) Lösung: Die Anforderung war das in ein Textfeld (für einen Taschenrechner) nur Zahlen eingeben werden dürfen. Alles anderen Eingaben sollen nicht zugelassen werden. Eine Hinweismeldung soll erstmal nicht erscheinen. Damit das klappt prüft die JavaScript-Funktion mit Hilfe eines regulären Ausdrucks ob es nur Zahlen (oder ein Backslash) ist. Falls nein gibt die Funktion ein false zurück und die Eingabe wird damit verworfen (es passiert einfach nichts wen man die Taste drückt). Nicht so gut an dieser Lösung ist das alle anderen Tasten auch geblockt werden, u.a. die Pfeiltasten. Aber das kann man vermutlich mit einer Erweiterung des regulären Ausdruck hin bekommen. Wie und ob sich das ganze mit Frameworks/Jquery abbilden läßt konnte ich noch nicht rausfinden. Aber die Chancen das es möglich ist stehen nicht schlecht. :-) Der Code für das ASP-Steuerelement in der Markup <asp:TextBox ID="txtanzeige" runat="server" style="margin-left: 4px; text-align: right;" Width="196px" Height="28px" CausesValidation="True" onkeypress="return(eingabepruefen(event))" ClientIDMode="Static" ontextchanged="txtanzeige_TextChanged1" ></asp:TextBox> Der Quellcode in der JS-Datei function eingabepruefen(pKeyevent) { //Tricky: Nach dem Oder-Zeichen des regulären Ausdrucks ist das Backspacezeichen via copy & paste eingefügt. //Innerhalb des Quellcode ist es nicht sichtbar, der Sucher berücksichtigt es aber trotzdem //Schlecht: Die Pfeiltasten um sich innerhalb des Text zu positionieren funktionieren so ebenfalls nicht -> eventuell doch ASCII-Code abfangen? var Sucher = /\d|/; window.alert("Das Label sollte sich jetzt ändern"); document.getElementById("ASPTextbox").value = "Hallo1"; document.getElementById("HTMLTextfeld").value = "Hallo2"; return Sucher.test(String.fromCharCode(pKeyevent.which)); } Gruss Boro
-
Hallo, erstmal danke für die Antworten. @etreu Ja, das mit dem Eventhandler hab ich mir auch so vorgestellt, nur genau das bekomme ich leider nicht hin. Ich habe gestern noch ein wenig gebastelt und festgestellt das man das Event-Objekt scheinbar übergeben kann. Eine direkte Ausgabe des Parameters zeigt den Wert "[object KeyboardEvent]" an. Das scheint also grundsätzlich das gewünschte Objekt zu sein. Nur ist der Wert der Eigenschaft .keycode dann immer null. Also entweder benutze ich die falsche Methoden/Eigenschaften oder die Übergabe des Objekts funktioniert nicht. (Erzeugt vlt. eine neue Instanz und enthält deshalb keinen Wert?) Hier mal der Code, das Verhalten ist in den Kommentaren genauer beschrieben. Vlt. siehst du ja den Fehler. :-) Das ASP-Steuerelement in der Markup-Datei <asp:TextBox ID="txtanzeige" runat="server" style="margin-left: 4px; text-align: right;" Width="196px" Height="28px" CausesValidation="True" onkeypress="return(MeineJavafunktion(event))" ClientIDMode="Static" ></asp:TextBox> Die JavaScriptfunktion function MeineJavafunktion(DerParameter) { window.alert("Beginn JavaScript"); //Die nächste Zeile gibt interessanterweise [object KeyboardEvent] aus window.alert(DerParameter); //Aber die nächste Zeile gibt leider immer nur 0 aus. window.alert("Der Wert ist " + DerParameter.keyCode); window.alert("Ende JavaScript"); } @lilith2k3 Danke für den Tip. Ich steh noch ziemlich am Anfang mit ASP.Net mit Themen wie Jquery und Ajax habe ich mich noch nicht beschäftigt. Erstmal die Grundlagen verstehen. :-) Gruß Boro
-
Hallo, ich komme bei einer eigentlich simplen Aufgaben einfach nicht auf das richtige Syntax bzw. das richtige Objekt. Mein Ziel ist es ein keypress-ereignis clientseitig via javascript abzufangen. Das soll später dazu verwendet werden um Fehleingaben zu vermeiden. Den größten Teil habe ich schon, es fehlt aber noch das eingegebene Zeichen. Hier mein bisheriger Code: <asp:TextBox ID="txtanzeige" runat="server" style="margin-left: 4px; text-align: right;" Width="196px" Height="28px" CausesValidation="True" onkeypress="return(MeineJavafunktion(HIER_MUSS_DAS_OBJECT/EVENT_ALS_PARAMETER_HIN))" ClientIDMode="Static" ></asp:TextBox> Die JavaScriptfunktion soll die Eingabe nachher anhand des Parameter validieren und true oder false zurückgeben. (Das bekomme ich aber selber hin) Kann mir jemand einen Tipp geben wie ich an das eingebene Zeichen komme? Mit "this" funktioniert es nicht und document.event.keycode ist an der Stelle scheinbar nicht verfügbar. Danke im Voraus Gruß Jens
-
ASP.Net - Javascript beim Klick auf einen Button ausführen
Boro antwortete auf Boro's Thema in Skript- und Webserverprogrammierung
Hallo, sehr schön, das funktioniert wie ich es brauche. Danke für die Unterstützung. Hier eine kurze Zusammenfassung für alle anderen Newbies: 1. Ausführen eines Jscripts beim an klicken eines ASP-Steuerelement. So muss der Eintrag in der Markup-Datei sein: <asp:Button ID="cmdASPButton" runat="server" onclick="cmdASPButton_Click" onclientclick="alert('Die Nachricht wird mit JavaScript erzeugt')" Text="Button - Ich bin ein ASP-Steuerelement" /> Die Prozedur "cmdASPButton_Click" ist in der Quellcodedatei zu finden und wird serverseitig ausgeführt. Das onclientclick-event dagegen wird clientseitig ausgeführt, in dem Beispiel erzeugt es eine einfache Messagebox. Es werden übrigens beide Events (erst Client, dann Server) ausgelöst. 2. Ausführen eines Jscripts das in einer separaten Datei gespeichert ist. Hier muss man zuerst in der Markup-Datei den folgenden Eintrag ergänzen. <script src="Scripts/EigenesJScript.js" type="text/javascript"> </script> In der Datei steht z.B. function MeineJavafunktion() { window.alert("JavaScript wurde ausgelöst"); } Und der Eintrag für das ASP-Steuerelement (ebenfalls in der Markup) muss dann so aussehen: <asp:Button ID="cmdASPButton" runat="server" onclick="cmdASPButton_Click" onclientclick="MeineJavafunktion()" Text="Button - Ich bin ein ASP-Steuerelement" /> Mfg Boro -
ASP.Net - Javascript beim Klick auf einen Button ausführen
Boro antwortete auf Boro's Thema in Skript- und Webserverprogrammierung
Hallo, danke für die Antworten, jetzt bin ich einen Schritt weiter. :-) Mit dem Designer habe ich ein weiteres (HTML)-Steuerelement hinzugefügt und in der Markup-Datei um das onclick-Event ergänzt. Das funktioniert auch. In der MarkUp Datei der Default.aspx steht jetzt: <input id="Button_JavaScript_testen" type="button" onclick="alert('Die Nachricht wird mit JavaScript erzeugt')" value="Hier klicken um das Script auszuführen" /> Das bringt aber zwei neue Fragen: 1. Wie kann ich ein bestehenden (ASP)-Steuerelement mit JavaScript verbinden? Das ist ein Beispiel eines (ASP?)-Buttons. Er kennt scheinbar ebenfalls das onClick-Event, die Funktion cmdacht_click ist aber im Codebereich von C# definiert. <asp:Button ID="cmdacht" runat="server" Height="39px" Text="8" Width="63px" onclick="cmdacht_Click" /> 2. In dem ersten Beispiel rufe ich die Funktion "Alert" direkt auf, wie kann ich angeben das eine ganze Prozedur aus eines JS-Datei ausgeführt wird? Wie verknüpfe ich ein Steuerelement mit einer Script-Datei? Nochmals danke im Voraus. Kl. Hinweis: Meine Entwicklungsumgebung ist Microsoft Visual Web Developer 2010 Express. Hier sind Markup, Quellcode und Scriptdateien von einander getrennt. Gruss Boro -
Hallo, ich versuche gerade in die Welt der Script/Webserverprogrammierung einzusteigen und bin noch ziemlich am Anfang. Momentan erstelle ich dazu einen kleinen Taschenrechner mit ASP.Net und C#. Die Eingabe, Berechnung und Ausgabe habe ich bereits mit Steuerelementen geschafft. Allerdings versuche ich jetzt noch clientseitige Scripte (z.B. zur Valdierung von Eingaben) zu ergänzen. Nur leider fehlt mir momentan der passende Ansatz. Ich weiß das ich irgendwo im Markup der Seite das entsprechende Event angeben geben muss, nur das wo und wie fehlt noch. Mir würde vermutlich schon helfen wenn ich wüsste ich ich ein JavaScript an das Click-Event eines Steuerelement binden kann. Die passenden Events für die Validierung finde ich dann selbst. Hat dazu vielleicht jemand ein kurzes Beispiel? Aus denen im Internet (z.B. dem hier: Clientskript in ASP.NET-Webseiten bin ich noch nicht schlau geworden. :-( Danke im Voraus. Gruß Boro
-
Hallo Julian, vorab: Lernen ist nie verkehrt. :-) Aber im Hinblick auf deine bevorstehende Ausbildung ist es sinnvoller wenn du dich zuerst auf die Sprachen/Technologien konzentrierst die du für deine tägliche Arbeit brauchst. Frage dazu einfach mal deinen zukünftigen Arbeitgeber welche Kernbereiche du brauchst. Vielleicht kann er dir sogar eine geeignete Entwicklungsumgebung bzw. Übungsmöglichkeiten zur Verfügung stellen. (z.B. als VM-Ware) Auf längere Sicht sind Erfahrungen mit den Webtechnologien wertvoll. Und ansonsten kommt man als FIAE an Datenbanken/SQL nicht vorbei, das Thema ist daher auch sehr empfehlenswert. VG Boro
-
Task per Batch beenden
Boro antwortete auf h3llraid3r's Thema in Skript- und Webserverprogrammierung
Kannst du das Script vieleicht mal posten? Vermute mal du arbeitest mit schleifen oder verzweigten Bedingungen, oder? Ansonsten würde ich innerhalb der Batchdatei das "exit" am Ende bzw. in der gewünschten Verzweigung einbauen. Die gestarten Tasks sollte das eigentlich nicht betreffen. -
Anzahl Tage seit Datum ermitteln (war: Ich weiß nicht mehr weiter...)
Boro antwortete auf matthias6793's Thema in C und C++
Hallo, hier ist ein kurzes Beispiel in VB.NET in dem der Wert in eine Date-Variable gecastet wird, vieleicht hilft das ja schon. Dim Datum As Date Datum = CDate(DasIstDieTextbox.Text) If Datum > "01.01.1901" Then MsgBox(DateDiff(DateInterval.Day, CDate("01.01.1901"), Datum)) MsgBox(Datum.DayOfWeek) End If Ansonsten hat Amstelchen Recht, selber denken macht schlau ;-) Schau dir mal die Funktion "datediff" in der VC++ - Onlinehilfe an, da sollte ein gutes Beispiel sein. Gruss Boro -
Hallo, wenn auch spät, hier noch ein kurzes Feedback und die Lösung zu der Frage, eventuell kann das jemand später noch gebrauchen :-) In einem Kontextmenü sind die Untergruppe im Quellcode direkt ansprechbar, d.h. man kann über den Objektnamen direkt darauf zugreifen. Mein Beispiel oben ging davon aus das eine neue Untergruppe nur über das Objekt des Kontextmenüs hinzugefügt werden kann. Beispiel: 'Auf dem Formular frmStartup gibt es ein NotifyIcon dem ein Kontextmenü "FavoritiesContextMenuStrip" über die Eigenschaft "ContextmenueStrip" zugewiesen wurde. Innerhalb des Kontextmenü gibt es über die IDE vordefinierte Elemente wie z.B. "Contact", "Person", "Appointment". Diese Elemente sollen zur Laufzeit neue Einträge bekommen. Das soll durch den OK-Button auf einen anderen Formular geschehen: zum Quellcode: Das Menüitem "Contact" wird (auf dem anderen Formular) direkt angesprochen. Die Methode insert erwartet als ersten Parameter den gewünschten Index (hier durch cint(cboRank.Text)), dann ein neues Objekt der Klasse Toolstripmenuitem sowie den beschreibungstext der hier von dem formular genommen wird. Das Objekt SOCurrentcontact.identity ist hier unwichtig, das wird für die eigentliche Programmlogik gebraucht. 'Ereignisprozedur beim klicken des Buttons Private Sub cmdYes_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdYes.Click frmStartup.Contact.DropDownItems.Insert(CInt(cboRank.Text), New ToolStripMenuItem(txtsaveas.Text, New Bitmap(My.Resources.IconResources.Customer), Nothing, SOcurrentcontact.Identity.ToString)) 'Nach dem insert kann der neue Menüeintrag über den Index angesprochen werden und verändert werden, hier wird der Tooltip gespeichert. fmStartup.Contact.DropDownItems.Item(CInt(cboRank.Text)).ToolTipText = SOcurrentcontact.Name Me.Close() End Sub Will man später auf ein Klickereignis reagieren verwendet kann das Beispiel verwendet werden. Private Sub Contact_DropDownItemClicked(ByVal sender As Object, ByVal e As System.Windows.Forms.ToolStripItemClickedEventArgs) Handles Contact.DropDownItemClicked 'Die interne Bezeichnung des Menüitem, nicht dessen inhalt msgbox (e.ClickedItem.Name) 'Der Inhalt des Menüitem msgbox (e.DropDownItems.Item([Index von objekt e auswerten!]).Name) End Sub
-
Erstmal danke das du dir diesen langen Text angetan hast. :-) Viren kann fast sicher ausschliessen, das System ist frisch aufgesetzt und Antivir hat ebenfalls nichts gefunden. Und DAU pfusch...naja, ich hab das System selber konfiguriert aber das muss ja nix heißen. Die Idee mit den Optimierungen ist gut, dort ist auch so ein seltsames Tunningtool installiert. Das installiert sich auch automatisch bei jeder installation des OS, ich verwende eine Boot-CD für unbeaufsichtige Installation. Ich versuche mal einen anderen Installationsträger.
-
Hallo, ich stehe vor dem folgenden Rätsel: Ein Notebook arbeiten nach dem booten für ca. 30 Minuten nicht richtig, es ist dann nicht mehr möglich das Touchpad oder die Tastatur zu verwenden. Eine externe Maus über USB funktioniert und es lassen sich Dialog wie z.B. Systemsteuerung öffnen, das dauert aber schon ungewöhnlich lange. Herunterfahren ist allerdings nicht möglich da dann wieder für längere Zeit nichts mehr passiert. Im Taskmanager kann man erkennen das der Prozess "System" die CPU stark auslastet. Im abgesicherten Modus tritt dieses Phänomen nicht auf. Wir hatten die Netzwerktreiber in Verdacht da das Problem vorrangig immer dann auftritt wenn das WLan-Modul aktiv war. Es läßt sich leider nicht reproduzieren, im Moment gehe ich davon aus das es dann auftritt wenn das Notebook die Verbindung zum WLAN-Router trennt, z.B. durch den Standbymodus. Wenn man das Notebook nur neu startet ist es normalerweise kein Problem, das Notebook stellt die Verbindung sogar automatisch wieder her. Aber wenn das Problem auftritt kann der WLAN-Adapter keine Verbindung herstellen. Er zeigt war die verfügbaren netzwerke an, beim Verbindungsversuch passiert aber einfach nichts. Das OS wurde bereits mehrfach neu installiert. Laut dem (glaubwürdigen) vorbesitzer lief das Notebook monatelang ohne schwierigkeiten Derzeitige Konfiguration: ->Das Notebook ist ein Acer TravelMate 4600 ->WindowsXP 32bit mit SP3 und den letzten Updates ->WLAN Adapter ist ein PRO/Wireless 2200BG mit Treiber in der Version 12.1.2.0 ->NIC ist ein Broadcom Gigabit in der version 10.85.0.0 (Das sind jeweils die letzten Treiber von den jeweiligen Herstellerseiten) ->Grafikkarte ist eine ATI X700 (Treiberversion derzeit unbekannt) Es sind Programme für das Touchpad und die Schnellstarttasten installiert, die Schwierigkeit tritt aber auch ohne auf. Ich habe das Bios geflasht aber die versionnummer gerade nicht parat. Wie kann ich das Problem lösen? Danke im Voraus. Gruß Boro
-
Das ist z.B. hier beschrieben: SelfADSI : Verzeichnisobjekte erzeugen Sowas finden man ganz gut wenn man die Methode Getobject und den ersten Teil der Klasse mit angibt. Ich z.B. hiernach gesucht GetObject("LDAP://OU"