| ||
|
Ergebnisse auf Deutsch für vba variable variablen
|
| Szukaj:Słowo(a): vba variable variablen |
Hmm... Ich habe noch das Standardstyle installiert. Oben Links ist ja das Logo von vb bzw. mein eigenes. Wenn ich darauf klicke, dann leitet mich der link ins Forum (Variable forumhome). Wenn ich dort aber die Startseite (also die portal oder index.php) aufrufen möchte, welche variable muss ich denn dann im header Template angeben? Einen austausch direkt in index.php halte ich für eine unsaubere Lösung. öberhaupt fänd ich ein Skript gut welches einem im Adminbereich alle verfügbaren variablen auflistet. Gibt es sowas? Viele Grüüe Gunnar |
Meta Keywords und Description Hallo Christian, Es ist super, dass die Meta-Tags mittlerweile dynamisch an den Content angepasst werden. Dazu gibt es in der portal_global doch die beiden Variablen $vbcms_global['meta_keywords'] und $vbcms_global['description']. Jetzt meine Frage: Wie kann ich diese aus einem vb Addon ansteuern, damit ich sie individuell pro Content verändern kann. Den Inhalt des jeweiligen Seiteneintrages vom Addon bekomme ich doch erst, wenn ich das Addon-Skript aufrufe. Doch dann ist die Variable irgendwie schon verarbeitet, d.h. wenn ich im Addon diese Variablen verändere, sind die Meta-Tags doch wieder die allgemeinen aus vb. Hast du eine Idee? Danke im voraus. |
Datum & Zeitanzeige des erstellten Threads in der Threadübersicht anzeigen? Liste der Anhänge anzeigen (Anzahl: 1) Hallo! Ich vermisse bei vB 3.8 in der Threadübersicht die Anzeige wann der Thread eröffnet wurde. Nach Bemühen der Suchfunktion bin ich auf folgende Beiträge gestossen: http://www.vbulletin-germany.com/forum/showthread.php?t=10750&highlight=datum+uhrzeit http://www.vbdesigns.de/english-forums/adding-thread-start-date-forum-view-114.html Leider funktionieren die dort angegebenen Lösungen nicht (mehr) bei 3.8 Daraufhin kam mir die Idee, dass solche Variablen bei 3.8 vielleicht schon integriert sind. Ein Test anhand dieser Auflistung http://www.vbulletin-germany.com/forum/showthread.php?t=29285&highlight=datum+uhrzeit ergab auch keine Abhilfe. Wie funktioniert dass denn nun bei 3.8 mit der Anzeige des Erstellungsdatums/-uhrzeit der Threads in der öbersicht? Viele Grüsse Phobos P.S.: im Anhang eine kleine Grafik wie es in der Themenübersicht dann aussehen sollte. Bis auf das Datum und die Uhrzeit sieht das auch schon so aus bei mir. Mir fehlt nur die Variable. |
Salü Stefan Stimmt... das wird nochmals ein Problem..., werde ich programmieren, sobald ich weiss wo: Ich will gerade auch deshalb nicht den Text selbst verändern, sondern nur den auszugegebenden HTML-Code in der Variablen $post[message]. Oder ist der beste Weg hierzu ein Code-Hack, der die Variable überarbeitet, unmittelbar bevor sie im Template postbit / postbit_legacy eingesetzt wird? Via php-Debugger kann ich einiges über die Arbeitsweise verstehen, verliere aber doch immer sehr viel Zeit um die korrekten Punkte für eine Manipulation zu finden... Ausserdem möchte ich ja lernen vB möglichst sauber anzupassen, nicht überall etwas rumzufingern... :) Merci für Deine Hilfe hier! Bruno P.S.: Wieso mir das so wichtig ist: Sauber formatierter Text sieht nicht nur viel edler aus - was sofort auffällt, wenn man von meiner Wiki ins Forum wechselt - sondern kann auch so dargestellt werden, dass auch komplizierte Texte mit verschachtelten öberschriften gut rüber kommen. Sieht man z.B. sehr gut an diesem Beispiel: In der Wiki, Im Forum |
puh. ich glaube, dass ich das damals, als ich das gebraucht hab, damit erreicht hab, dass ich in der php.ini die Variablen fuer sendmail alle als leeren String gesetzt hab. also variable = ... nicht auskommentieren. Und als SMTP localhost. Dann verwendet das vB glaub ich SMTP, aber ganz sicher bin ich mir auch nicht mehr. |
hallo, das dürfte nix mit der pcre version zu tun haben. die ist zwar alt, aber reguläre ausdrücke gibt es schon deutlich länger. versuchs mal ohne vB erstell ne neue php datei: Code: <?php error_reporting(E_ALL); /* der reguläre ausdruck */ $regex = '^d{2,5}$'; if (!preg_match('#'.$regex.'#siU', stripslashes(trim($_GET['test'])))) { echo 'Die Zeichenkette entspricht <b>nicht</b> den Anforderungen des regulären Ausdrucks.'; } else { echo 'Die Zeichenkette entspricht den Anforderungen des regulären Ausdrucks.'; } ?> du kannst den regulären ausdruck in der variablen $regex anpassen. die anführungszeichzen ( ' ) an anfang und ende sind nicht teil des ausdruck, die werden hier nur für die variable benötigt. ruf die datei dann im browser mit datei.php?test=zeichenkette auf. |
Variablen werden gelöscht Frage an die Profis: Mein VB 3.0.3 ist zwischen Header/Footer in meiner Seite eingebaut (phpinlclude); Mein Header ist auch ein PHP Skript und liest verschiedene Cookies diese werden diese jedoch gelöscht. Beispiel: HEADER aus anderer PHP Datei: $vb_user = $HTTP_COOKIE_VARS["vb_userid"]; ...dann kommt das Forum die Variable $vb_user ist aber leer. Es sieht also so aus als ob VB alle Werte auf Null setzt obwohl diese Variable gar nicht Bestandteil des Forums ist. |
Neuer Hilfe-Eintrag: Variable 'vb' erlauben Ich würde es sehr begrüüen, wenn ab der kommenden Update-Version es möglich ist, im Admin-Kontrollzentrum, beim Erstellen eines neuen Hilfe-Eintrages, einen Variablennamen mit 'vb' beginnen zu können. Wenn ich jetzt einen neuen Hilfe-Eintrag erstellen möchte, erscheint ein Hinweis-Fenster, dass ich meine Hilfethemen nicht "'vb_xxx'" nennen kann. In der (unteren) Statusleiste, in der beim Mouseover eines Hilfe-Eintrages ein Link erscheint, sollte schon bei eigenen erstellen Hilfethemen das 'vb' angezeigt werden. Wie würde es dann aussehen, wenn alle vorinstallierten Hilfethemen mit 'vb' beginnen und die eigenen beispielsweise mit 'vb3' oder '_vb'. Ich meine, das ist zwar eine Kleinigkeit, mich stört es aber, dass in der Statusleiste dann nicht 'vb' steht. Ich hoffe, ihr versteht, was ich meine. Ich achte schon auf solche Kleinigkeiten ... |
Variablen-Probleme bei vB-Fehler Öhm... also schön langsam weiü ich nimmer weiter. Die Situation ist eigentlich sehr einfach - ich erzeuge mir in einem Plugin auf global_start zwei Variablen. Die eine soll in der Navbar angezeigt werden, die andere im Footer. Das funktioniert auch so lange sehr toll, wie ich keine vBulletin-Fehlermeldung bekomme. Wenn ich aber zB Neue Beiträge aufrufe, wenn keine da sind - verschwindet meine Navbar-Variable. Die wird einfach nicht mehr angezeigt und scheint auch nicht mehr zu existieren. Die im Footer hingegen schon. Was ist das, wo oder warum passiert das... aber am wichtigsten - wie bekomme ich meine Variable wieder??? Ich habe das schon mal mit Konstanten getestet - die bleiben erhalten. Haben aber das Problem, daü ich sie im Template nicht ausgeben kann. |
Variablen in anderen (custom) Templates gültig machen? Hallo, ich poste dies hier, da davon ein Kauf einer weiteren vB Lizenz abhängt: Ist es möglich, zum Beispiel eine Variable (nennen wir sie $totalmembers) so zu modifizieren, dass sie in anderen templates (z.B. STANDARD_ERROR) gültig wird? Komme ich da als Admin irgendwie heran, diese Variablen modifizieren zu können und können Sie mir eventuell Tips geben, wo und wie ich an diese Variablen herankomme um sie zu verändern, dass ich alles mal zuvor an meinem Testforum versuchen kann? |
header-Template - stylevar[left] Hallo, im 364er vB steht im header-Template die Stylevariable $stylevar[left] Code: ... <td align="$stylevar[left]"><a ... Im Admin-CP unter den Stylevariablen finde ich dazu keine Einstellung. Auch sonst finde ich nirgends in der Datenbank etwas, was dazu passt. Wo wird dieses $stylevar[left] definiert? (Irgendwo muss es definiert sein, da bei der ausgelieferten Seite align="left" rauskommt ...) ========================= Und in dem Zusammenhang ne Frage zu den Templates: (die durch den Gedankengang kam: "wenn die Variable nicht definiert wurde, dann muss er das ja irgendwo im Quellcode bei der Verarbeitung der Templates abfangen ...") In der global.php wird ja anscheinend der header erzeugt über den Aufruf von fetch_template: eval('$header = "' . fetch_template('header') . '";'); Die Funktion fetch_template wird in functions.php definiert. Wo in dieser Funktion findet das Parsen des Templates statt (das Ersetzen von solchen Variablen)?? Ich bin zu blöd das zu erkennen ... Gruss Johannes |
Welche Ausgabevariable? Hallo Habe eigenen vB-Code erstellt. Am Anfang und Ende enthält der vB-Code jeweils eine HTML-Kommentarzeile als "Markierung". Alles arbeitet perfekt und die Kommentarzeilen sind auch im Seitenquelltext vorhanden. Um den unterschiedlich langen HTML-Inhalt zwischen den besagten Kommentarzeilen in Anhängigkeit der Usergroup zu manipulieren/ersetzen habe ich ein Plug-in erstellt. Auch das funktioniert alles. Als Hook habe ich global_complete mit der dort vorhandenen Variablen $output genommen da ich der Meinung bin/glaube das der gesamte ausgegebene Bildschirminhalt in dieser Variablen ist. Genau das scheint aber nicht immer der Fall zu sein. Welcher Hook, resp. welche Variable enthält den HTML-Bildschirminhalt und kann mit der o.a. Logik noch manipuliert/geändert/ersetzt werden, wobei meine eigenen HTML-Kommentarzeilen zur Positionsberechnung innerhalb des Strings dienen? Ich weiss, das ich auf dem richtigen Weg bin, aber eben noch nicht ganz .... |
Frage zu Variablen öber das Plugin hole ich HEADER und FOOTER unserer Seite zum VB dazu. Leider werden wohl an irgendeiner Stelle (wie früher auch) per UNSET alle vorher gesetzten Variablen durch VB gelöscht. Wie schaffe ich es eine bestimmte Variable aus diesem Löschvorgang herauszunehmen ?! Bei deaktivierten Cookies soll unsere eigenen Session ID zum VB im URL übergeben und beibeihalten werden. |
das geht jetzt schon über meinen Horizont :confused: Ich hatte es mit einem if(date(D) == Sun) versucht, das klappt auch prima, nur will vB das nicht, da ist das verboten. Aber es muss doch eine Variable für den Wochentag geben? Gibt es eigentlich eine Liste der Variablennamen und der Bedeutung? |
Variablen im Plug-In an PHP übergeben Hallo zusammen, ich lade via Plug-In beim Hook "global_start" meinen Navigation in eine Variable um Sie anschlieüend im header (Global Template) auszugeben. Plugin: $tv_head = file_get_contents('http://www.website.de/helper/forumtemplate/creatnavi.php); Nun möchte ich der Datei "creatnavi.php" bestimmte Variablen mit übergeben, damit ich die Ausgabe der Navigation anpassen kann: z.B. in welchem Forum (ID) befindet sich die Diskussion oder ist der User eingeloggt etc. also: $tv_head = file_get_contents('http://www.website.de/helper/forumtemplate/creatnavi.php?fid=$variable[forumid]&user=$variable[user]); Meine Frage: Komme ich im Plug-in überhaupt an vb-Variablen ran? Wenn ja welche? oder kennt jemand eine elegantere Lösung? Danke & Grüüe Sven |
Erledigt: Fehler durch Plugin Accelerator Guten Tag, ich habe hier ein groües Problem mit den Plugin-Variablen. Ich habe hier einige Plugins angelegt und bei allen den Hook "global_start" zugewieüen. Eine Variable heiüt z.B. $staticheader, welche mir den Code einer HTML-Datei einlieüt und auswirft. Ich habe zusätzlich den Plugin Accelerator deinstalliert, da dieser laut Pluginseite nur mit vB 3.5.3 kompatibel ist. Doch nun funktioniert der ganze Zauber nicht mehr, die Variable wird nicht ausgewertet. Egal, in welches Teplate ich sie eintrage, vB überspringt diese einfach. Die Variablen rufen aber nur ein einfaches implode() auf. Ich hoffe, mir kann hier weitergeholfen werden. |
VB.net und Umgebungsvariablen Hallo, ich muss in meinem VB-Programm die Umgebungsvariable "path" dauerhaft verändern. Ich habe gelesen, dass folgende Funktion nur für den aktuellen Prozess gültig ist und der Eintrag in "path" bei einem Neustart verloren geht: Declare Function SetEnvironmentVariable Lib "kernel32.dll" _ Alias "SetEnvironmentVariableA" ( _ ByVal lpName As String, _ ByVal lpValue As String) As Long Stimmt diese Information? Wenn ja, welche Möglichkeiten gibt es sonst aus dem Quellcode heraus der Umgebungsvariablen "path" ein Verzeichnis dauerhaft hinzuzufügen? Für Hilfe wäre ich sehr dankbar! MfG Thorsten |
count und verarbeiten einer variablen in visual b. hi ich habe so eine kleine frage, die mich n bissel stört. ich habe eine variable. die habe ich aus 2 anderen erzeugt. bsp: var1 = 123 var2 = 456 var3 = var1*1000+var2 problem: nun weis ich nicht, wie ich diese wieder auseinander bekomme... bsp, wie es laufen soll: count var3 count-3 (da die letzten 3 ziffern aus var 2 sind.) speichern des wertes (123) in var1 nun kann man 2 wege gehen. entweder (einfacher) var3-var1*1000=var2 oder auslesen aus der variablen die letzten 3 ziffern. also jeder der verswtanden hat, was ich will, Gratulation. habe selber auch probleme das zu verstehen *smile* und jeder der mir helfen kann: danke!!! mfG Nooa |
Variablen-Konvertierung Hi, ich habe ein Problem mit der Konvertierung von String-Variablen. VB-Net sieht bei Dezimalzahlen den "." als ",". Also den Tausenderpunkt als Komma und das Komma als Tausenderpunkt. . Ich benutze nun eine Access-Datenbank und möchte eine String-Variable mit Zahleninhalt in ein Dezimalfeld speichern. Das jedoch funktioniert nicht, da Access die deutsch Variante, VB-Net aber die amerikanische Version möchte. . Da ich auf eine mir vorgegebene Textdatei zugreifen muü und diese erst in verschiedene Daten aufteilen, bevor ich damit rechnen kann, bekomme ich hier leider groüe Probleme. . Hat vielleicht irgendjemand einen Lösungsvorschlag für mich: . bei: zahl = val(variable) habe ich genau das von mir oben beschriebene Problem. |
Anfänger!!! Datenbankfelder in Variablen und zurück? Hallo, ich bin bei VB-Net ein blutiger Anfänger. Ich habe meine Formulare mit Dataadapter und Dataset verbunden und kann auch innerhalb dieser Datenbank blättern. Aber ich komme in der Programmierung nicht weiter. Wahrscheinlich brauche ich nur einen Denkanstoü: wie kann ich ein feld einer Datenbank (z.b. den Ort aus einer Adressdatenbank) in eine Variable speichern? wie kann ich eine Variable in eine Datenbank speichern? (z.B. Ort in einer Adressdatenbank) Nächstes Problem: Wie wandle ich eine String-Variable in eine Integer-Variable um, um damit rechnen zu können? Vielleicht kann mir ja jemand helfen? |
Ja schon aber jeder Spieleprogrammierer fängt mal klein mit eine kleinen Dos Spiel an! Ich möchte dann ja eh mit Windows und so weitermachen! Ich könnte ja auch eine Header Datei für visual c++ schreiben! Da brauch andere variablen Bezeichung für die Funktion z.B.: in Borland gilt Beispielsweiüe die Funktion int far pixel (...) ich möchte nur die variable "far" in visual c++ variable umwandeln! Das müsste doch gehen oder?? Ich bin doch noch ein anfänger auf diesem Gebiet. In der Schule schreiben wir sämtliche grafik mit dem alten Borland c++ 3.1 und ich möchte gerne das ich die grafik auch mit visual c++ schreiben kann! Thoma
|
Zugriff auf Klasse und/oder Webservice Ich habe zwei Dateien: eine ff.aspx und eine Link.vb (eine Klasse). In der ff.aspx wird die Methode getString benutzt, die in Link.vb geschrieben steht. Auüerdem ist in ff.aspx der Befehl Import Namespace="Webservice" , damit die ff-Datei mit den Variablen aus diesem Webservice arbeiten kann. In Link.vb gibt es ebenfalls Variablen, die im Webservice hinterlegt sind, aber leider noch keinen Import oder ähnliches. Meine Fragen: 1. Wie "verlinke" ist die ff.aspx und die Link.vb, damit erstere die Methoden (wie z.B. genanntes getString) aus der zweiten Datei benutzen kann? Ich habe es schon mit diversen Import .... "Link.vb"-Variationen aus dem Internet versucht, jedoch ohne Erfolg. 2. Wie mache ich Link.vb klar, dass die verwendeten Variablen aus dem Webservice stammen (momentan heiüt es nur "Variable nicht deklariert"... woher soll die Datei sie auch kennen...)? Falls es nicht möglich ist der Klasse einen direkten Verweis auf den Webservice zu geben, ist dann vielleicht ein Verweis auf ff.aspx möglich (indirekt landet das ja dann auch wieder beim Webservice...)? Auch hier habe ich mit dem Imports-Befehl experimentiert... leider ohne zufriendenstellendes Ergebnis. Ich hoffe, es ist deutlich genug beschrieben. (Entschuldigung für diese "Otto-Normalverbraucher"-Beschreibung. Ich bin noch ein Anfänger und des Vokabulars noch nicht mächtig :( ) |
@Phil Ich wollte keine fertige Lösung bringen (abgesehen davon, dass ich sie kaum in VB, sondern in C# hätte schreiben können). Ich finde es immer besser, wenn man sich etwas selbst entwickelt. Mein Ziel war, durch Fragen und Anregungen Rolle auf den richtigen Weg zu bringen; das ist offensichtlich schief gelaufen. @Rolle Ich hoffe, Du hast wirklich etwas gelernt und nicht nur kopiert. Zitat:
"IsFinished" wäre eine eigene Variable, mit der das Ende abgefragt wird - dasselbe, was Phil mit "nochmal" gemacht hat. Dass RegEx normalerweise nichts ist für Anfänger, ist mir klar. (Auch ich habe mich nach drei Jahren NET noch nicht damit befasst.) Da es für solche Prüfungen und Aufteilungen prädestiniert ist, wollte ich es auf jeden Fall erwähnen. Noch eine Bemerkung zu den Namen der Variablen: Ich bin grundsätzlich dafür, in Deutschland deutschsprachige Bezeichnungen zu verwenden. Beim Programmieren bin ich aber davon abgekommen: Spätestens wenn der Designer EventHandler erzeugt, entsteht grausamer Mischmasch: Für eine ComboBox kundenAuswahl wird eine Methode kundenAuswahl_SelectedIndexChanged erzeugt; und dieses Denglisch empfinde ich als noch schlimmer als den Verzicht auf deutsche Bezeichner. Gruü Jürgen |
Windows Umgebungsvariablen funktionieren nicht in C#-Projekt Hallo zusammen, ich benutze das Visual Studio 2003 Version 7.1.3088 Ich habe ein Problem wenn ich in Windows eine Umgebungsvariable anlege für z.B. den Projekt Output und diese dann im C#-Projekt benutzen möchte. Stelle ich z.B. in der Sektion "Outputs" den Output Path auf $(PRJOUT)...... , dann wird ein Ordner im Projektverzeichnis mit dem Namen $(PRJOUT) erstellt. Dieses Problem tritt aber nur bei C#Projekten auf - bei C++ ist alles ok. Bis jetzt habe ich danach einen Post-Built step eingebaut der nach dem Built die erzeugten dateien dann dorthin kopiert, wo sie hin sollen. Ist das ein Bug oder mache ich da grundsätzlich was falsch? Wäre echt nicht schlecht, wenn mir jemand weiterhelfen könnte. |
Hallo, als VB-Laie fallen mir folgende Punkte auf: Der Text der Eingabe muss auch an die Variable eingabe übergeben werden; das fehlt. Dann fehlt die Analyse der Eingabe: Wenn Du eine Summe als Ergebnis haben willst, brauchst Du als Eingabe zwei Zahlen (nicht nur eine). Deine Verwendung als "Summe von 1 bis n" verwirrt doch reichlich. Die Eingabe muss natürlich eine Zahl sein; mit der Eingabe von "abc" darf Dein Programm nicht rechnen. (VB.NET tut so, als ob es das Konvertieren vom String zu einer Zahl erleichtere; das ist aber nur ein Verschleiern, und als Problemstelle sollte es Dir bewusst sein.) Anschlieüend willst Du der Variablen ergebniszahl das Ergebnis der einzelnen Rechnungen zuweisen. Na, dann mach das doch einfach: Code: ergebniszahl = Fakultaet(eingabezahl) Deine Fehlermeldung wird immer ausgegeben; dafür fehlt ein else-Block. Schau Dir auch einmal die Diskussion 4 Grundrechenarten via Konsole hier im VB.NET-Forum vor einigen Tagen an. Gruü Jürgen |
Hallo, wenn das neue Formular als Reaktion auf den Button-Klick die folgenden Zeilen aufruft, so wird nur eine neue Instanz des alten Formulars erzeugt aber <b>nicht</b> angezeigt und in dieser unsichtbaren Instanz die Methode <i>MeineProzedur</i> aufgerufen: <code> dim alteForm as new Form1 alteForm.MeineProzedur("blubb") </code> Wenn es darum geht, dass das neue Formular eine Methode des alten Formulars (aus dem heraus das neue Formular aufgerufen wurde) aufrufen soll, so muss das alte Formular einen Verweis auf sich selbst (Me) an das neue Formular übergeben. Dies könnte durch einen überladenen Konstruktor geschehen. Das neue Formular speichert diesen Verweis auf den "Vater" in einem eigenen Objektfeld, um dann die Methode <i>MeineProzedur</i> über diesen Verweis aufzurufen: <code> aParentForm.MeineProzedur("blubb") </code> Alternativ besteht in VB.NET ja auch die Option, über ein <b>Module</b> eine öffentliche "globale Variable" für das Hauptformular anzulegen, so dass das 2. Formular direkt über diesen Weg auf das 1. Formular zugreifen kann: <code> Module ModuleData Public alteForm As Form1 End Module </code> Das 1. Formular muss dann nur den Verweis auf sich selbst (Me) in dieser öffentlichen "globalen Variablen" ablegen: <code> Private Sub Form1_Load(ByVal sender As Object, _ ByVal e As System.EventArgs) Handles MyBase.Load MeinProgramm.ModuleData.alteForm = Me End Sub <code> 
 |
Parameter bei Starten Halli Hallo Leute, ich hab ein kniffliges Problem und das rumgooglen hat mich nicht sehr weit gebracht. Ich möchte eine unter VB.net erstellte Exe mit einem Parameter aufrufen und diesen Parameter in eine Variable speichern. So sieht mein wunsch aus: Beispiel: c:programmemeinprojekt.exe -hallo -welt Dadurch sollen in den Variablen text1 und text2 hallo und welt stehen. Wäre nett wenn es da ne Hilfe geben würde. Danke schomal für die die ein bisschen Gehirnschmalz dafür aufbringen:) p.s.: ich bin mir bewuüt das hallo welt nicht das beste aber das einfachste beispiel ist und mein problem gut schildert |
Hallo, VB unterscheidet nicht zwischen Groü- und Kleinschreibung. Es klappt auch wenn man beide "text" klein schreibt. Hängt wohl damit zusammen das das eine "text" als Prozedur und das andere als Variable erkannt wird. Das mit der Reihenfolge von obligatorischen und optionalen Variablen ist absolut richtig. Erst alle obligatorischen, dann die optionalen. Wieso eigentlich "text.ToString"? Die Variable "text" ist doch schon ein String. Deine Fehler bedeuten also: 1. Da optional am Anfang steht, ignoriert er die anderen öbergabevariablen. Da Du 3 übergeben willst, er aber nur eine erwartet kommt diese Fehlermeldung. 2. s. oben -> Erst die obligatorischen, dann die optionalen Variablen. 3. Dieser Fehler taucht bei mir nur auf, wenn ich "console.writeline(Text())" schreibe. "Text" wird zwar richtig als die Variable und nicht die Prozedur interpretiert, aber die Klammern dahinter bedeuten soviel wie text.char() und es wird der Index für das Zeichen welches ausgelesen werden soll, erwartet. Und nimm Jürgen's Rat an und benenne eine Variable um, in strText zum Beispiel. Sicher ist sicher. Philsen |
Hallo Christina, aus deiner Beschreibung geht leider nicht hervor, von wo aus SplashForm und MainForm gestartet werden. Wenn es aus der Main-Methode in program.vb heraus geschieht, dann bietet sich folgendes Vorgehen an:lErzeuge das SplashForm und zeige es an.l lErzeuge das MainForm, wobei in FormLoad nur die Minimalaufgaben erledigt werden.l lErzeuge einen Delegate ProgressDelegate, der einen Text entgegennimmt.l lErzeuge im SplashForm eine Methode ProgressMethod gemäü diesem Delegate, die den eingegebenen Text in das Label überträgt.l lErzeuge im MainForm eine Variable ProgressMethod vom Typ des Delegaten.l lHole in der Main-Methode den Zeiger auf die SplashForm-Methode und setze die MainForm-Variable auf diesen Zeiger.l lDanach führst du die weiteren Initialisierungen von MainForm durch eine Init-Methode aus.l lDabei kannst du in MainForm mit Hilfe der Variablen die SplashForm-Methode aufrufen und ausführen.l Die Punkte 5 und 6 sehen etwa so aus (Pseudo-Code): Code: // in der Main-Methode: öbergabe des Zeigers, d.h. des Namens der Methode main.ProgressMethod = splash.ProgressMethod // in MainForm Deklaration: public ProgressDelegate showProgress { get; set; } // Aufruf "irgendwo" später: showProgress("Aktuelle Funktion") Ich hoffe, das Verfahren wurde klar genug. Du musst dann noch auf passende Zugriffsmodifizierer achten. Ich würde in MainForm den ProgressDelegate nicht public, sondern private deklarieren und die öbergabe über eine Set-Methode steuern, ebenso das Abholen der Methode aus splash heraus; aber das ist nebensächlich. Schöne Feiertage! Jürgen |
Die öbersetzung kannst du dir selbst überlegen: * Wie wird eine Variable mit ihrem Typ deklariert? Richtig, mit "Dim (Name) As (Typ). Offensichtlich ist DataRow ein Typ, also ist myRow die Variable. Damit solltest du die Deklaration und Initialisierung der Variablen myRow übersetzen können. * VB benutzt am Ende eines Befehls kein Semikolon. Das weiüt du sicher schon, also lass es doch weg. * Durch "" werden Strings gekennzeichnet. Und bei VB? Richtig, genauso. * Das '+' ist also die Addition von Strings, d.h. die Verknüpfung von Strings. Wie geht das bei VB? Richtig, mit '&'. Alles andere ist NET-Standard, vor allem die gesamten Bezeichnungen und Methoden-Aufrufe. Da gibt es keine Unterschiede zwischen C# und VB.NET. Jürgen PS. Genau auf diesem Weg habe ich gelernt, für VB zu antworten. |
Hallo, Sorry ich habe zu wenig geschrieben. Also Ich programmiere diese Skript derzeit in VB (Console) Ich habe es nun geschafft die CSV Datei auszulesen und stück für stück in eine Variable zu speichern und kann mir die CSV Datei wieder anzeigen lassen. So nun häng ich an einem weiteren Problem! Ich möchte diese Werte nun in die DB speichern. Code: While not Try console.writeline (VARIABLE) End Try End While So nun will ich die einzelnen Variablen in die MSSQL DAtenbank schreiben. Code: While not Try console.writeline (VARIABLE) connectionString = New SqlConnection("DER CONNECTION STRING") connectionString.Open() query = New SqlCommand("INSERT INTO Tabelle VALUES ....") End Try End While So das Programm liefert mir nichteinmal einen Fehler. Die INSERT INTO abfrage geht (Auf dem SQL Server getestet) Muss ich dem VB noch irgendwie etwas mitteilen das er nun die Abfrage ausführen soll? mfg ps. wenn das hier nicht merh rein passt verschiebt den post Seby |
Umgebungsvariablen setzen in Visual Studio 2005 Guten Tag zusammen, ich habe vor mit einigen Leuten zusammen ein gröüeres Entwicklungsprojekt zu starten. Um die Zeit des Einrichtens zu verringern, haben wir ein zentrales Repository aufgesetzt, welches sämtliche benötigten Includefiles enthält. Der Arbeitsablauf, um einen neuen Entwicklungsrechner mit der gesamten Umgebung zu installieren sollte nun folgendermaüen aussehen: 1. Repository auschecken 2. Die Umgebungsvariable WOTP_HOME auf den Pfad des Entwicklungszweiges im Repository setzen 3. Bei den C++ Verzeichnissen die Include, Executable und Library Files mittels $(WOTP_HOME)include | $(WOTP_HOME)in | $(WOTP_HOME)lib einbinden und somit im Visual Studio global verfügbar machen Da das Projekt auch auf mehreren parallelen Entwicklungszweigen arbeiten wird, ist es ab und an dann auch notwendig WOTP_HOME auf den aktuellen Entwicklungspfad zu setzen. WOTP_HOME würde somit einige manuelle Schritte ersparen. Die Frage, die ich nun habe ist, wie kann ich diese Umgebungsvariable setzen, bzw. ist sie überhaupt so verwendtbar? Das Setzen von WOTP_HOME bei den Windowssystemvariablen hat dabei nicht geholfen. |
Einfache VARIABLEN überwachen Hallo, gibt es eine Möglichkeit bei Delphi die Variablen so schön wie im Visual Studio Debugger mit den Werten zu beobachten, wenn man (z.B. mit F8) durch den Code steppt ? Unter Visual kann ich da dann mehrere Variablen überwachen. Geht das mit Bordmitteln oder nur mit Zusatz Tool ? Gruss Sven Kasemann P.S. Mir reicht halt nicht der Tooltip über einer Variable aus, wenn der Debugger gestoppt ist. |
leider ein vb.NET Beispiel aber verdeutlicht das ganze, du hast mehrere Möglichkeiten. WEnn du nur eine Meldung generieren willst wo nur eine Hand Voll variablen eingesetzt werden sollen kannst du string.Format benutzen: vbnet Code: l'Variablen im TextllDim var1 as String = "-ersteVariable-"llDim var2 as String = "-zweiteVariable-"llDim var3 as STring = "-dritteVariable-"ll'Text mit PlatzhalternllDim Meldung as String = "Hallo jetzt die erste {0}, dann die zweite {1} und jetzt die dritte {2} Variable Stelle im String"ll ll'Variablen ersetzen (alternativ könnten die PlatzhalterVariablen auch als Nullbasiertes Array übergeben werden)llDim FertigerString as String = string.Format(Meldung,var1,var2,var3)ll ll'Ausgabe in der Consolellconsole.WriteLine(FertigerString)l Nun willst du groüe Strings zusammensetzen gibts den Stringbuilder: vbnet Code: l'Variablen im TextllDim var1 as String = "-ersterTest(Anschluss)-"llDim var2 as String = "-zweiterTest(neueZeile)-"ll'Builder instanzieren.llDim Builder as new StringBuilder("Hallo ich bin beim instanzieren der Klasse schon als Text vorhanden."ll ll'Text hinzufügenll'im Anschluss an den bisherigen:llBuilder.Append(var1)ll ll'im Anschluss an den bisherigen in neue Zeile:llBuilder.AppendLine(var2)ll ll'Ausgabe in der Consolellconsole.WriteLine(Builder.ToString)l |
Abfrageergebnis aufgesplittet in einzelne Variablen übergeben Hallo liebe Community! Ich habe einige Datenbank Abfragen in Access mit SQL erstellt die verschiedene Mengen an Ergebnissen ausgeben. Nun werden die Ergebnisse als Variablen in VB Express benötigt, doch dabei soll jeder einzelne Zelleninhalt des Ergebnisses als eine eigene Variable abrufbar sein und nicht die gesamte Tabelle. Da ich mich mit VB überhaupt nicht auskenne, weiü ich nicht welche Möglichkeiten es dazu gibt. Gibt es vielleicht die Möglichkeit, eine entsprechende Anweisung zu programmieren? Falls ja wie müüte die dann aussehen? Wenn diese Option nicht besteht, hat jemand einen alternativen Lösungsvorschlag dazu? Vielen Dank für eure Bemühungen! Viele Grüüe, Tanja |
Textbox und/oder Variable und Datenbank Hallo, befasse mich mit VWD (2008 Express) und MS SQL Server 2005 und suche eine Möglichkeit Textboxen und/oder Variablen mit Inhalten aus der Datenbank zu befüttern, bzw. die Inhalte auch in die Datenbank zu schreiben. Leider wollte mir dies bislang nicht gelingen, trotz eifrigem googlen :confused:. Das Lesen, ćndern und Neuanlegen von Datensätzen mit Gridview bzw. Detailsview usw. klappt jedoch problemlos. Kann mir da jemand, am liebsten mit einem Codebeispiel (VB), weiterhelfen. Vielen Dank im Voraus... Grüüe, mbx |
Hi Ok, dazu öffnet man oder erstellt eine .d Datei im Ordner _workdataScriptsContentItems. Ein Itemscript sie ca so aus: Zitat:
Die fett gedruckten Sachen sie für Schaden, Attributvorraussetzung und Skillvorraussetzung. Du kannst nach = entweder eine Variable angaben (wie es PB gemacht hat (sind übrigens in der Tuning_Melee_Weapons.d für Schwerter definiert) oder eben auch gleich Werte angeben. Wenn du Variablen nimmst, dann ist es ratsam, wenn du sie gleich in der selben .d Datei definierst. Um Variablen zu definieren schreibst du auüerhalb einer Instanz folgende Zeile: const int [VARIABEL] = [WERT]; Statt [VARIABEL] schreibst du den Wert deiner Variabel hin und statt [WERT] die Nummer des Wertes, die die Variabel annehmen soll. Gruü -kubi |
Ok, damit habe ich dass verstanden. Basis ist WINXP. Beim aus/einloggen wird "WM_userchanged" gesetzt. Dieses Ereignis könnte man abfragen. Ist aber unbefriedigend, da bei mehreren aktiven Usern der schnelle Userwechsel nicht erkannt wird. Abhilfe schafft die Umgebungsvariable "Username". Dieser wird über einen Timer mit einer Auflöung von sagen wir mal 10 Sekunden betrieben und fragt die entsprechende Variable ab. Wechselt der Username, so wird das Programm zum Setzen der Displayuhr beim Erreichen der nächsten vollen Minute gestartet. Um den Mehrfachstart zu verhindern, wird mit dem folgenden Timerevent das eventuell noch laufende Programm wieder entfernt. Dies klappt ein Handle oder über die Abfrage der aktiven Programme Soviel zur allgemeinen Lösung. VB(A) nutze ich nicht. Aber die Events bzw. Umgebungsvariablen sollten dort gleich heissen. Da ja schon eine Lösung in VBA existiert, müsste nur die Abfrage des Usernamen integriert werden sowie das Entfernen des unnützen Programms aus dem Speicher (Das sollte eigentlich automatisch gehen?). Letzteres verhindert sonst unter Umständen die korrekte Funktion. Wird dann ein Exe-file erzeugt und dieses dann noch als Dienst beim Start von WINXP eingebunden, so ist vermutlich alles erreicht, was erreicht werden könnte. Mfg Sailor P.S: eine Ungenauigkeit von 1-2 Sekunden könnte immer noch vorhanden sein, da der Startvorgang des Programmes nicht beinflussbar ist. |
Variablen zerschneiden wie kann ich nur bestimmte Teile einer Variable herauslesen??? also wie z.B. bei VB die Befehle Left, Right usw.. Beispiel: $Test = HalloWieGehts und ich möchte nur das "Wie" haben, aus der Variable $Test Danke im vorraus |
Wenn du die Variablen nicht explizit deklarierst, verwendet VB den Datentyp "Variant", der praktisch alle Untertypen enthält (String, Integer, Long...) bzw. enthalten kann. Hättest du Dim Variable as Variant geschrieben, hätte es den gleichen Effekt gehabt. Wie gesagt, der Datentyp "Variant" kennt noch einen Untertypen "Decimal", der so lange Zahlen speichern kann. |
Mit Frauenprogrammiersprache mein ich ja nur das der ganze vb mist unglaublich schlapig ist. Wenn dir dazu mal Delphi anschaust, Beispiel variable. vb erkennt im normalfall nen integer und nen string delphi nicht, da muüt dann die variablen schon genau deklarieren InttoStr z.b also net böse sein junge Frau. Wir haben bei uns auch 3 Frauen dabei, und eine davon steckt und alle samt in die tasche. Ohne Probleme. |
Visual Sudio: Symbol not found in Debugger Ich habe ein (MS) Visual Studio projekt von jemand anderem übernommen (der für mich leider nicht erreichbar ist *grml*). Wenn ich dieses Projekt nun debuggen möchte, sollten unten im debug fenster ja die werte von variablen ersichtlich sein. Allerdings finden sich dort nur lauter 'symbol xy not found'. Das selbe erhalte ich, wenn ich eine Variable mit quickview betrachten möchte... Google konnte mir leider auch nicht weiterhelfen, doch hoffe ich auf die allmächtigkeit der VIS informatiker 8). kann mir da jemand weiterhelfen, denn debuggen mit 'printf' befehlen ist nicht soooo toll... |
[VB]Frage wegen Zeichenkette hallo ich hab ein problemchen und da wollt ich mal fragen ob ihr helfen könnt. also folgendes ich habe in einer textdatei mehrere pfadangaben welche durch ein * getrennt sind nun möchte ich beim laden den variablen wieder ihre einzelnen pfade zuweisen hat jemand ne idee kleines bsp quell file c: est ext.txt*c: est ext2.txt und 2 variablen file0 und file1 so und dann soll das ganze so verarbeitet werden das variable 1=c: est ext.test und variable2 =c: est ext2.txt achtung das ist nur ein kleines bsp im programm sind es 35 werte danke für eure hilfe headi |
Visual Basic - Variablen Hallo! Einfache Frage: Wie kann ich verhindern, dass wenn ich in Visual basic in einer Variable rechne, dass dann groüe Zahlen automatisch abgekürzt werden?? also sowas: 21354684965413E+342 MfG Flix |
[vba] Variablenname zusammensetzen Hallo zusammen, ich habe folgendes Problem dass ich meinen Variablennamen zusammensetzen muss. Das sieht dann folgendermassen aus dass ich eine Basisform ahbe, z.B. "Variable" und dann noch einen Counter i. Jetzt hab ich den zusammengesetzten Variablenname fertig als String vorliegen. "Variable1" Nun muss ich damit einen bestimmten Wert abrufen. zB. Variable1(AndererCounter) Und das funzt ueberhaupt nicht. Wie bekomm ich das hin, dass ich an den Wert von Variable1(IrgendeinWert) komme???? |
kA, ich hab Visual Basic vor Ewigkeiten mal gemacht. Ich wüsste nicht, dass man Variablennamen einfach zusammensetzen kann, wie in PHP. Ich bin mir aber ziemlich sicher, dass sich dein Problem auch ohne zusammengesetzte Variablennamen lösen lässt. "Variable" und "Counter" klingt für mich stark nach Array.
|
oh shit, das hamse au' net grad doll gelöst :( um ein programm zu starten braucht man ein skript, das erst variablen setzt :( tip: schtreib zu deinem programm doch ein installscript,das die datei in /usr/lib kopiert und die variable permanent speichert ich mein, wenn man unetr windoof ein vb-proggy installiert kopiert das setup die vbrun500.dll auch in c:windowssystem..... dan hat man dieselbe runtime nachher net 1000 mal aufm pc |
Um Dennis seine Frage ein wenig zu konkretisieren: Hat ein NPC spezifische Variablen, die nur dem diesem einen NPC gehören? So etwas wie Felder bei Objekten in Delphi. Im Maker gab es nämlich nur globale Variablen. Dennis würde jetzt gerne beim Kopieren eines NPCs die Variablen, auf die das entsprechende Script zurückgreift automatisch verschieben. Falls es lokale NPC-Variablen gibt wird das natürlich nicht nötig sein. Hab jetzt ka ob VB auch Objektorientiert arbeitet.. Edit: Hm.. da fällt mir noch was ein. Im Maker wurde die "Adresse" einer Variable durch ihre ID gegeben. Es gab sogar die Möglichkeit Variablen als Pointer auf andere Variablen zu verwenden. Nachdem ich ein bisl gegooglet hab und mir ein wenig Infos über VBScript (was ihr ja als Scriptsprache verwendet) angelesen habe, frage ich mich ob es in Minerva so etwas wie Pointer geben wird. Und selbst wenn das ändern der "Zielvariable" nur über einen extraBefehl geht, ich fände dieses Feature extrem praktisch, wenn nicht sogar zwingend, für ein Projekt solcher Groüenordnung. |
Systemumbegungsvariable aktualisieren Danke, ich hab es jetzt so gelöst: User führt mein VB-Script aus um den Registry-Wert zu ändern. Danach klickt er eifach im Menü der Benutzer-Variablen auf "OK". Somit wird wohl irgendwas ausgeführt, was die Variable global setzt. Gruü Thomas "Wolfgang Profanter" schrieb im Newsbeitrag ... Thomas Gorjup schrieb: User muss auf seinem Computer Programme mit unterschiedlichen Java Versionen testen und hat somit verschiedene Versionen installiert. Um jeweile die gebrachte Java Version anzusprechen, muss der in der Sysemumgebungsvaribale z.B. der Pfad "c:jdk1.6.0in" ganz vorne eingetragen sein. Hallo Thomas, versuch mal einen anderen Weg. Starte die verschiedenen Java Programme über ein BatchDatei, in der die verschiedenen Javaversionen direkt angesprochen werden. Bezüglich der Befehl-Syntax gib mal folgendes in der Kommandozeile ein: java -jar -- Gruü Wolfgang ------------ I would love to change the world, but they won't give me the source code ------------ WinXP Pro SP2 |
Das geht auch unter VB nicht. Es kann kein Feldname variabel erstellt werden. Du brauchst zwar (wenn Du's unbedingt so willst) die Variablen nicht mit DIM zu definieren, aber der Feldname muss im Quellcode "vorkommen". Eine Möglichkeit der Art "create Variable name = xyz" gibt es aber nicht. Die einzige mir bekannte Sprache, in der sowas (ähnliches) geht, heist LISP, evtl könnte man mit PROLOG auch sowas hinkriegen. mfg cckLoud |
Hallo AHUser das mit dem Aufruf zur Startzeit funzt prima. :) Aber bei der Funktion GetMV habe ich noch ein Problem mit der Variablenübergabe. Laut VB Hilfe bedeutet ByRef dass die Adresse der Variable übergeben wird so das die Funktion die Variable auch beschreiben kann. In Delphi habe ich dass aber noch nicht so hinbekommen, habe es schon mit @ probiert aber bekomme keine werte zurück. ??? Sie auch Quelltext vom 27.07.03 Mfg ToPa |
Wenn du mal 3 Tage lang dein Programm nach einem Fehler durchsucht hast, nur weil du an einer Stelle ein globale Variable verwendet hast und die nun in irgendeiner Procedure verändert wird, ohne das du es mehrst oder möchstest, dann weist du warum locale Variablen die bessere Lösung sind. Frage mal VB-Programierer, was die schon für Probleme mit sowas hatten. Dragonslear |
[quote author=Lucebike link=board=7;threadid=13686;start=15#msg78818 date=1048535727] Welchen Vorteil sollte es bieten, eine solche Variable in einer Instanz einer Ableitung von TDataModule zu speichern, statt einfach im private/public-Teil des Hauptformulars? [/quote] Schonmal das TDataModule angeguckt oder die Hilfe gelesen? Offensichtlichtlich nicht, sonst wüsstest du, wozu es gut ist. Zitat:
Um mal einen Vorteil zu nennen. Es geht ja schlieülich nicht nur um Integer Variablen. Timer, Imagelisten, TSQLDataSet sind ja auch Variablen. Des weiteren hast du dann alle "globalen" Variablen zusammengefasst und nicht mit unitspezifischen vermengt. Im Gegensatz zu einer einfachen Unit hast du einen OnCreate bzw. OnDestroy Event, mit dem du Instanzen erstellen und freigegeben kannst. Und mir fällt kein einziger Nachteil ein, den es hat, dir etwa? MfG Nemesis |
juhu, nur noch ein Fehler! :wink: [Fehler] Unit1.pas(77): Inkompatible Typen: [delphi:1:bdd111f73c]Zeichen := chr(ord(TZeichen) + ord(SZeichen) - 65);[/delphi:1:bdd111f73c] Was die Zeile soll? Sie soll die Ascii-Werte der Zeichen addieren und dann 65 abziehen. Die Variable Zeichen ist ein String. TZeichen und SZeichen auch. Auf meiner Hp kann man sich übrigens das Visual Basic Programm herunterladen, welches diese Verschlüsselung ebenfalls beherscht. Nur halt in Visual Basic. mfg PS: Hier gibt's ja gar keinen Spam im Forum... Weiterhin vielen Dank für die schnelle Hilfe. //Nachtrag: @zwei posts oben drüber: (nick vergessen) ich habe deinen PPost zwar schon gelesen (ich habe ja drauf geantwortet) allerdings, wie mir im nachhinein klar wird, nur teilweise... z.B. wusste ich nicht genau was du mit "-Zeichen" meinst was mir dann aber doch klar wurde.... meine ganzen TVerschlüsselt, SVerschlüsselt, SBereinigt usw. Variablen.... halt nur die die auf "-Zeichen" enden... Sorry also das ich das irgendwie etwas überlesen habe ... //Nachtrag2: Funktioniert die Zeile, wenn ich die Variablen innerhalb der chr()-Klammer in eine nummerische Variable umwandel? Also: [delphi:1:bdd111f73c]Zeichen := chr(strtoint(ord(TZeichen)) + strtoint(ord(SZeichen)) - 65);[/delphi:1:bdd111f73c]? |
ASP.NET #VB Datenfeld auf Variable od. Session ablegen hi, ich nutze zum ersten mal dreamweaver cs3 und dachte mir: teste doch mal asp.net. nun gut datenbank usw. alles kein problem kenn ich von golive6 und asp. nun mein problem ich konnte mit golive und asp datenfelder meiner datenbank auf variablen oder session legen aber mit asp.net habe ich nur probleme. ich habe so einiges versucht aber asp.net ist wohl etwas anspruchsvoller. bsp: <script language="vb" runat="server"> Dim TESTing as String = CB.FieldValue("CPU", Container) </script> weis jemand wie dies in dreamweaver mit asp.net geht? danke |
Checkboxergebnisse in Variable schreiben Hallo, ich habe folgendes Problem. Es soll eine Seite erstellt werden auf der MultipleChoisefragen beantwortet werden sollen. Zur auswertung sollen die Antworten dann in einer Datenbank gespeichert werden. Das ganz wird in ASP und VB-Script programmiert. Hier ein Bespiel so wie ich mir das von der Datenbankkonstruktion her gedacht habe. (Für verbesserungsvorschläge bin ich sehr dankbar) Jede Frage besteht aus max. 6 möglichen Antworten. Für jede Antwort wird eine Checkbox erstellt. In der Datenbank soll dann eine Zeichenkette eingetragen werden die die ergebnisse aller 6 Antworten in sich vereint. CheckBox 1 geklickt = 1 CheckBox 2 nicht geklickt = 0 CheckBox 3 geklickt = 1 CheckBox 4 nicht geklickt = 0 CheckBox 5 geklickt = 1 CheckBox 6 geklickt = 1 jetzt soll folgender String in die Datenbank eingetragen werden: User XYZ bei Frage xyz Antwort = 101011 Frage: Wie kann ich die Checkboxen auslesen ob geklickt oder nicht und dann die ergebnisse in einer Variablen zu einem String zusammenfügen und in die Datenbank schicken! Vielen Dank für alle konstruktiven Beiträge! Gruü rechendepp PS: Bin leider ein bischen raus aus dem ganzen ASP und Script programmieren und bin für jeden Denkanstoss dankbar! |
vb programmierung ist schon lange lange her bei mir, auch wenn ich dir jetzt nicht direkt etwas zu deiner frage sagen kann (hab die nicht ganz verstanden :-( ) muü ich trotzdem etwas zu deinem programmierstiel sagen ... kein, nie und nimmer nicht auch nicht in vb, GoTo verwenden!!!111einseinself schau dir mal die seite an http://www.vb-seminar.de/ vielleicht findest du dort ein paar anregungen. ich habe dein programm nur kurz überflogen deshalb habe ich sicher nicht alle fehler gefunden. - du verwendest die variable 'y' zwei mal für verschiedene typen - du verwendest goto - du solltest elseif verwenden - kein goto - zwei mal fast der gleiche code, das würde auch einfacher gehen - bennenung der variablen namen ich weiü nicht genau welche vb version du verwendest sonst könnte ich dir etwas mehr tips geben, zwischen vb 6 und vb.net gibts doch einige unterschiede! |
Also hallo erstma, Wenn du in VB Text speichern willst, musste dazu Variablen benutzen. Also, dass ist bei allen Programmiersprachen so^^ Diese Variable kannste danach einsetzen um alle Captions zu verändern. zb. Button1.caption = Eingegebenername oder so ähnlich :05: Google mal danach oder geh direkt auf [Link nur für registrierte und freigeschaltete Mitglieder sichtbar. Jetzt registrieren...] Dort lernste wie mans macht! greetz Ov3rflow |
hi... ich habe mich auch mal nach dem Tut gerichtet, aber es hat nie funktioniert! also habe ich die interpretation in dem Fom code gelassen, aber das reichte noch net, denn bei mir funzte auch die zerteilung der String Variable net, also habe ich das auch selber geschrieben, jetzt geht es! ich habe auch nie den fehler wegen: "Sub, Funktion oder Proberty erwartet." gefunden, aber wenn man VB darauf hinweist, das InterPreTieren eine Function ist, kommt der fehler das die Variablen nicht für diese transaktion geeignet sind! ich kann dir mal meinen Source schicken wenn du interesse hast! cu ExRevel |
Sorry @Icke, @NataS, aber Eure Bedenken versteh ich nicht ganz. Klar fragt er nach Variablen und will einen Wert damit übergeben. Die Message in meinem Beitrag ist aber, daü dies völlig überflüssig ist, da er ja auf den Originalwert zugreifen kann. Was ist daran nicht zu verstehen? Mag sein, daü der Zweite Teil nach "That´s All" überflüssig und/oder zu Anspruchsvoll ist, zudem ist ein Schreibfehler drin. Mit ist klar, daü er nicht nach einem Objekt fragt, ich schrieb ja auch von einer _Eigenschaft_ des Form-Objektes. Letztenendes ist das ja nix anderes als eine Variable, was Euch wohl bekannt sein dürfte. Wenn er mit VB anfängt, dann sollte er es lieber richtig lernen und NICHT globale Variablen oder überflüssige Variablen verwenden. Dadurch wird es nämlich unnötig kompliziert und unübersichtlich. Daher hab ich auch auf den Vorschlag einer "Property Let"-Prozedur verzichtet ;o) Nix für ungut, Giga. (... und nix gaga) |
Dynamische Variablen Deklaration Hallo, also die Suchfunktion habe ich bereits getätigt aber leider habe ich nichts hierzu gefunden. Problem: Gibt es in VB so etwas wie eine Dynamische Variablen Deklaration? Also ich weis ich bekomme eine Variable, wais aber erst zur Laufzeit wie sie heisen soll. Für Lösungen und oder Lösungsansätze bin ich sehr dankbar cu NeMo |
ne... nix unsauber ![]() Bevor ich gesehen habe, dass er nur Dezember als Long deklariert hat (wahrscheinlich ungewollt) habe ich mich mindestens 100x gefragt wieso jetzt der Compiler eine Long Variable + eine Long Variable jetzt wie bei einem String zusammengefügt. Und da gäbe es so viele Lösungen, und ich habe ihm die naheliegenste Lösung genannt. Als ich dann beim 2. Mal durchlesen gesehen habe, dass ja alle ausser Dezember als Variant deklariert sind, ist mir ein Licht aufgegangen! ![]() Wenn VB eine explizite Deklarierung von Variablen verlangen würde, wäre das ganze nicht gewesen! ![]() mfg Moskito |
@Masquerade : das geht einem nicht tierisch auf die Eier, sondern hilft Fehler zu vermeiden. @NataS: stimmt zwar, aber trifft nicht dieses Problem. wenn man Variablen so deklariert : Dim a,b,c as Long so ist c eine Long-Variable , a und b hingegen variant. Dim a as long, b as long, c as Long is richtig. Allerdings löst das das Problem hier auch nicht ganz. Da VB selbst die meisten Typumwandlungen vornimmt ist man gerne zu faul dies von hand zu tun, was aber, wie oben gesehen leicht zu Fehlern führen kann wenn man die Reihenfolge in der Operatoren beachtet werden nicht kennt oder nicht beachtet. In anderen Programmiersprachen ist dies nicht möglich, da diese eine explizite Typumwandlung verlangen. MfG cryptic |
Hi Witec Also Textbox in eine Variable: Code: Dim X As String X = Text1.Text End Code Das umgekehrte wäre: Code: Dim X As String Text1.Text = X End Code Das gibt den Inhalt einer Variablen in einer Textbox aus. Wegen den *.exe's. Das geht mit VB 5.0 CCE definitiv nicht, da kein Compiler (C2.EXE) und Linker (Link.exe) dabei ist. (Von dem deaktivierten Menü ganz zu schweigen...) mfg Moskito |
Also... 1) "Instr" sucht nach einer Zeichenfolge in einem String, "Len" gibt dir die Länge eines Srings zurück und "CStr" weiü ich gerade nicht auswendig. 2) Man benutzt Module um Subs oder Funktionen von mehreren Formen aus anzuwenden oder um die "Sub Main" zu erstellen (Sub Main: Die Sub Main kann man als erstes starten lassen noch bevor ein Formular geladen wird). Klassenmodule sind dafür da um variablen Eigenschaften zu geben z.B. Variable.Eigenschaft. 3)Sachen bewegt man zum Beispiel mit "Drag" und "Drop". öber Seiten von Sources wurde hier schon öfter mal geredet - SUCHEN! P.S.: Falls du VB original gekauft hast, dann hast du automatisch MSDN als Hilfe. |
Thorsten Doerfler <t.doerfler_nospam@bdsw.de> schrieb im Beitrag <didosm.3ko.1@news.bdsw.de>... > Das betrifft nicht nur Variablennamen, sondern auch Benzeichner von > globalen Aufzählungsmitgliedern oder Konstanten. Statt Speichern und > Neuladen des Projekts, kann man auch eine globale Suche mit Ersetzung > durchführen, um die alte Schreibweise wiederherzustellen. Eigentlich sollte es reichen, einfach 'mal nur kurz eben eine Dummy-Variable mit dem entsprechenden Bezeichner zu deklarieren. Bei gleichlautenden Bezeichnern verwendet VB offenbar immer die in der letzten Deklaration verwendete Schreibung. Wichtig ist dann vor allem das Speichern >aller< Projektdateien, wie Wolfgang sagt. -- ---------------------------------------------------------------------- THORSTEN ALBERS Universität Freiburg albers@ uni-freiburg.de ---------------------------------------------------------------------- |
Hallo Thorsten, erstmal danke für Deine Antwort. > Die Hilfe kann das sehr gut erklären, aber mit dieser hast Du ja so > Deine Probleme: Jau... [...Hilfe-Text gelöscht...] > In Deinem Code sehe ich allerdings nicht, dass Du VB in irgendeiner > Weise mitteilst, welche Datensatzlänge Du haben möchtest. Die Abhilfe > also: > > Open vOutFileFullPath For Random As #vDNr Len = Len(vInhalt) + 4 > Put #vDNr, , vInhalt > Close vDNr Hm... Das löst zugegebenermaüen mein Problem. Allerdings habe ich den Code auch schon erfolgreich _ohne_ "Len=..." verwendet. Daher wundert mich, dass ich "Len=..." hier verwenden muss. > In der Annahme, dass 'v' bedeutet, dass Du die Variablen als > Ressourcenverschwendenden 'Variant' deklariert hast, statt Dir die > Mühe zu machen einen passenden Datentyp auszuwählen. Für 'vDNr' wäre > dies 'Integer' für 'vInhalt' 'String'. Da liegst Du falsch. "v" bedeutet bei mir "Variable" (im Gegensatz zu z.B. "c" für Konstante oder "p" für "Public"). "vDNr" ist bei mir "Byte" (da ich nicht davon ausgehe, dass ich mehr als 255 Dateien öffne), "vInhalt" ist "String". Vielen Dank für Deine Hilfe & schönen Gruü -- Michael michael.schueller@gmx.de |
Michael Schüller schrieb: > Das löst zugegebenermaüen mein Problem. Allerdings habe ich den Code auch > schon erfolgreich _ohne_ "Len=..." verwendet. Daher wundert mich, dass ich > "Len=..." hier verwenden muss. VB verwendet hier wohl automatisch eine Satzlänge von 126 Zeichen. Dokumentiert finde ich das aber auf die Schnelle nicht. >>In der Annahme, dass 'v' bedeutet, dass Du die Variablen als >>Ressourcenverschwendenden 'Variant' deklariert hast, statt Dir die >>Mühe zu machen einen passenden Datentyp auszuwählen. Für 'vDNr' wäre >>dies 'Integer' für 'vInhalt' 'String'. > > > Da liegst Du falsch. "v" bedeutet bei mir "Variable" (im Gegensatz zu z.B. > "c" für Konstante oder "p" für "Public"). OK, auch eine Art. > "vDNr" ist bei mir "Byte" FreeFile gibt einen Integer zurück, daher ist ein Integer hier auch passend. Thorsten Dörfler -- vb-hellfire - einfach anders (Kein Link ?) |
VB-Scripte in WinCCflex aktivieren, VB Beispiele Servus, wer kann mir Beispiele zum Aktivieren von VB-Scripten unter WinCC flexibel geben. Habe mich noch nicht mit VB beschäftigt und bräuchte ein paar Beispiele, z.B. Verknüpfung von Variablen und rückgabe des Wertes auf eine neue Variable. Wäre für jedes Beispiel dankbar. Gruü Puschen-Paul |
Bedienfreigabe per VB Hallo zusammen Dank "KaffeeSaufenderKamin" und seine Programm Beispiel bin ich heute einen rieüigen Schritt weiter gekommen. "Vielen Dank KaffeeSaufenderKamin für dein Projekt." :D :D Hab mir ein schönes Eingabefenster jetzt zusammen gebaut und würde nun gerne folgende Dinge haben. Wäre super wenn mir jemand helfen könnte, da ich der volle VB/C Noob bin. 1.Wie kann ich in einer 32Bit Variable einzelne Bit Setzen oder (Rücksetzen mit Hilfe von VBS) 2. Habe ich in meinem Fenster 3 Button eingebaut (Zu Auf Halt) deren Bedienfreigabe ich gerne untereinander verschalten würde. Sodas z.b. der Auf Button nicht benützt werden kann wenn das Tor auf ist. Mit dem DynamikDialog ist es glaub ich nicht mehr möglich, da ich keine Indirekte Variablen eingeben kann. 3.Würde ich gerne dieses Fenster über einen Button wieder schlieüen Habs mit dem Befehl Fenster.Visible=False versucht geht aber irgendwie nicht. Wäre euch super dankbar wenn ihr mir weiter helfen könntet. Danke |
Hab das Script jetzt hinbekommen. Nur zwei Sachen bereiten mir noch Kopfzerbrechen::confused: - Ich möchte die Excel Datei unter dem Namen einer Variablen in einem bestimmten Pfad speichern. Wie bringe ich die Variable in der Pfadangabe unter? - Wie kann ich in VB Datum und Uhrzeit auslesen und ebenfalls in das Excel-Sheet übertragen? Vielen Dank für Eure Hilfe! |
Hallo Heinz, du kannst die Variablen in VB adressieren in dem du das Präfix wegläst. Das Präfix gilt nämlich auch für VB routinen und wird vor die adressierten Variablen gesetzt. Beispiel: Variable in WinCC : MeinPräfix.MotorEin -> unter VB im Präfix Bild : .MotorEin also genauso wie du sie in einem EA Feld adressieren würdest. |
Probleme mit strinvariablen bei OPC Habe eine OPC-Verbindung zwischen dem WinCCflex OPC-Server und und Visual Basic 6 als client aufgebaut. Hierzu sind in VB6 ca 20 Textboxen, in der die Variablen angezeigt und geändert werden können. Auf gegenseite hab ich ein bild in WinCC wo ich gucken und ändern kann. klappt bei numerischen oder boolschen Werten wunderbar. Eine string-variable wird komischerweise nur in einer Richtung übertragen. Gebe ich am WinCC-flex eine neu Zeichenkette ein, wird sie sofort im VB-Textfeld übernommen. ćndere ich die Zeichenkette in der VB-Textbox, passiert auf WinCC-Seite gar nichts. Auch mit einem Scout sehe ich keine ćnderung. Hat jemand eine Idee? |
Servus, hiermit teilst du deinem Programm (Wincc flexible) mit, dass ab einer von dir eingestellten Startadresse nur gleichartige Variablen in der von dir angebenen Länge folgen: Hab jetzt Wincc nicht installiert, drum kann ich's jetzt nur aus dem Kopf (berichtigt mich bitte, wenn's falsch ist) Beispiel: Du willst 5 Bytes (VB400,VB401,VB402,VB403,VB404) aus deiner Steuerung mit dem Variablennamen (Array) "Daten" auslesen. Im Variableneditor gibst unter Eigenschaften bei der Variablen "Daten" ein: Array Startadresse: VB400 / Länge: 5 Die Arryvariablen werden fortlaufend nummeriert Daten[0] = VB400 Daten[1] = VB401 Daten[2] = VB402 ... Daten[4] = VB404 Wenn du dann in einem Bild ein Objekt erzeugst (EA-Feld o.ä.) musst du natürlich auch diesem Objekt die gewünschte Variable zuordnen (d.h. dich interessiert z.B. nur VB 402 aus der Steuerung) Um dies einzustellen, wählst du im Eigenschaftsfenster des Objekts unter Variable im Aufklappmenü deine Variablenarry "Daten" per Linksklick aus die untergeordneten Variablen Daten[0],Daten[1],.... müssten jetzt sichtbar sein, jetzt die gewünschte Variable auswählen Daten[2] auswählen. Jetzt hast du eine Verbindung zwischen deinem Bildobjekt und der Variablen VB402 aus deiner angeschlossenen Steuerung hergestellt, ohne diese im Variableneditor extra zu deklarieren. MfG Unreal |
Bräuchte ein easy VB programm für´s TP270 (konvertierung) Guten Morgen liebe Sorgen... :D Ich habe ein, bzw. zwei Problem(e) mit der Uhrzeiteinstellung in einer S5-155U über ein TP270. Vorgegeben habe ich die Zeit (und Datum natürlich) in einem DB. Dieser ist wie folgt aufgebaut: Code: 0 KH = 0000; // keine ahnung wo für zum lesen der Zeit 1 KH = 0100; // Masterkennung 2 KH = 1040; // 1/100 sec ; sec also 10 hundertstel & 40 sec 3 KH = 4214; // Minuten; Stunden also 14:42 4 KH = 0907; // Tag; Monat also 09.07. 5 KH = 9600 // Jahr; nichts 1996 zum stellen der zeit 6 KH = 0100; // Masterkennung 7 KH = 1040; // 1/100 sec ; sec also 10 hundertstel & 40 sec 8 KH = 4214; // Minuten; Stunden 9 KH = 0907; // Tag; Monat 10 KH = 9600 // Jahr; nichts dafür müsste man doch ein skript schreiben können, welches die daten (variablen) einlieüt und in eine timedate-variable ablegt und umgekehrt, oder? Leider habe ich mehr ahnung von C als von VB... da liegt mein kenntnisstand bei 0 um genau zu sein. Aber ist doch für euch profie progger zum warmwerden bestimmt ein super start in den morgen, oder? :D und mein zweites, wo ich nicht ganz soviel hilfe erwarte, weil keiner das programm kennt, ist dass ich die stelle nicht finden kann, in dem ich der steuerung sage, sie soll den zweiten teil des DB als ihre neue zeit übernehmen... aber das schaffe ich schon... hoffe ich :roll: |
Variablen/Konstanten öbersicht Hallo zusammen, gibt es eine Variablen/Konstanten öbersicht die man innerhalb von vB nutzen kann auch mit beschreibung was diese Variable/Konstante bewirkt? MfG nc_proggy :) |
Hallo Jochen, Betrifft Editor: zu 2) Hintergrund: Gültigkeit der Variablen schon beim Eingeben erkennen (Wer hat es noch nicht fertiggebracht, während des Eingebens eine Variable umzutaufen oder falsch zu schreiben? Vor allem wenn man option explicit am Anfang des Scripts vergisst, ergibt das manchmal eine lange Fehlersuche) zu 4) Hast Du mit dem Script-Editor von Fixfoto schon gedruckt ;) ? Eigene Linien (habe ich auch schon praktiziert) werden mitinterpretiert, wenn auch als Kommentare. Wir haben immer noch einen Interpreter, keinen Kompiler. zu 7) Wenn man nicht gleich speichert und zum anderen Script wechselt (Dateikopf kopieren) kann man den Link nur noch löschen und neu anlegen. (Oder die INI editieren) Betrifft FF_SetProgress Text: Wie baust Du ein Textfeld ohne Dialog ein? Die Fortschrittsanzeige ist im Ausführungs- bzw Editorfenster integriert. Da braucht man keinen eigenen Dialog! Des weiteren habe ich gern im Fortschrittsbalken auch mal(aber nicht nur) die Prozentanzeige, deshalb will ich den Text frei gestalten. Erinnere Dich doch mal an die normale Stapeverarbeitung von FF. Nur hätte ich den Text gerne im Balken (oder in der nicht vorhandenen Statuszeile ;) ). Tastaturabfrage: Erkläre einem Nichtprogrammierer, wie er ein Script abbrechen soll. Auf Escape kommt jeder, ist aber nicht in jeder Phase erwünscht. Bei jeder Tastatureingabe wird ein Ereignis ausgelöst und von Windows eine Message zum Elternfenster geschickt, welches den Fokus hat. Da SetProgress Teil des Elternfensters ist, kann bei einem Aufruf der Tastenaufruf mitverarbeitet werden. Ist die Taste 'ESC' wird das Skript unterbrochen. Mehr verlange ich gar nicht. Natürlich könnte man wie zu QuickBasic's Zeiten das über INKEY lösen und auswerten, wenn man diese Funktion hätte! Optionale Parameter: Wird unterstützt von C, C++, VBScript (Aufruf), JScript (Aufruf), VB, .Net ..., MS macht's vor, erfordert beim Programmieren halt etwas mehr Sorgfalt und Arbeit. Ist aber dann wesentlich flexibler. Weiteres Beispiel FF_Scale: Wie weiü ich, nach welchen Kriterien FF skaliert, wenn verschiedene Aspekte zwischen Quell- und Zielbild herschen, mit keepAspect = true. öberraschungen sind vorprogrammiert. Ein Aufruf wie: FF_HQScale Breite,,true wäre eine elegante Lösung. Ich brauche keine Variable übergeben, deren Gröüe ich nicht kenne, und FF muü nicht entscheiden, welche Variable für der Script-Programmierer denn jetzt wichtiger ist, Breite oder Höhe? Schönen Gruü, Werner. |
Hallo, in diesem Detail ist VB.NET näher am alten Delphi, denn in VB.NET kann anstelle einer Klasse ein <b>Module</b> deklariert werden. In Wirklichkeit sind die Module ebenfalls Klassen, der einzige Unterschied besteht darin, dass Module implizit nur aus <i>Shared Members</i> bestehen, so dass keine Instanz erzeugt werden muss. Aus diesem Grund arbeiten alle Programmteile immer mit der gleichen Modul-Instanz und somit mit den gleichen Daten (Variablen) aus diesem Modul. In C# gibt es diese Bequemlichkeit nicht, hier müssen wir über das Schlüsselwort <b>static</b> eine gemeinsam zu nutzende Variable explizit kennzeichnen. Das folgende Beispiel verdeutlicht (hoffentlich) das Prinzip: <i><a href="/webx?13@@.4a870a72/1">Andreas Kosch "Zugriff auf Variablen" 01.07.2004 05:37</a></i> Eine Singleton-Klasse kann in C# zum Beispiel so umgesetzt werden: <pre> <b>using</b> System; <b>using</b> System.Diagnostics; <br> <b>namespace</b> SingletonKonstruktor { <b>public</b> <b>class</b> SingletonClass { <font color="#003399"><i>// Sperrobjekt für Multithread-Zugriffe</i></font> <b>private</b> <b>static</b> <b>object</b> aLockObj = <b>new</b> <b>object</b>(); <font color="#003399"><i>// Ablageplatz für die Singleton-Instanz</i></font> <b>private</b> <b>static</b> SingletonClass aInstance = <b>null</b>; <br> <b>private</b> SingletonClass() { <font color="#003399"><i>// Default-Constructor ist von auüen nicht erreichbar</i></font> Trace.WriteLine(<font color="#9933CC">"SingleClass: Default-Constructor aufgerufen"</font>); } <br> <b>public</b> <b>static</b> SingletonClass GetSingletonInstance() { <b>lock</b>(aLockObj) { <b>if</b> (aInstance == <b>null</b>) aInstance = <b>new</b> SingletonClass(); <b>return</b> aInstance; } } } } </pre> Die Nutzer dieser Klasse rufen über <i>SingletonClass.GetSingletonInstance();</i> die gemeinsam zu nutztende Instanz ab |
Hallo, der DataAdapter hat beim <i>Fill</i>-Aufruf die Ergebnismenge der SELECT-Abfrage im DataSet abgelegt, somit sind bereits alle Werte der Felder der abgefragten Datenbank-Tabelle in objektorientierter Weise in "Variablen" gespeichert - nur dass die "Variable" als Kollektion aufgebaut ist: Die <i>DataTable</i>-Instanz im DataSet hat eine <b>Rows</b>-Kollektion, und jede dort abgelegte <b>Row</b>-Instanz hat eine <b>Columns</b>-Kollektion. Das eigene Programm kann somit direkt auf jedes einzelne Feld gezielt zugreifen. Und da es in ADO.NET keinen Datensatzzeiger gibt, kann jedes Feld im DataSet völlig frei abgefragt oder beschrieben werden. Das folgende Beispiel demonstriert das Prinzip <code> <font color="#0000FF">Dim</font> aDTCustomer <font color="#0000FF">As</font> <font color="#0000FF">New</font> <font color="#008080">DataTable</font>() <font color="#008000">' SelectCommand = SELECT ProductID, ProductName FROM Products</font> SqlDataAdapter2.Fill(aDTCustomer) <font color="#0000FF">Dim</font> sWert1, sWert2 <font color="#0000FF">As</font> <font color="#0000FF">String</font> sWert1 = aDTCustomer.Rows(2)(1).ToString() sWert2 = aDTCustomer.Rows(0)(1).ToString() <font color="#008080">MessageBox</font>.Show(sWert1 + <font color="#008080">Environment</font>.NewLine + sWert2) </code> <br> >Wie wandle ich eine String-Variable in eine Integer-Variable um? Dafür stehen mehrere Wege zur Verfügung. Zum einen die VB-spezifischen Anweisungen, wie zum Beispiel <b>CDec</b>: <code> Dim dData As Decimal = CDec(TextBox1.Text) </code> Universeller sind die sprachunabhängigen Klassen aus dem .NET Framework, wie zum Beispiel <b>Convert</b>: <code> Dim aData As Decimal = Convert.ToDecimal(TextBox1.Text) </code> |
Hallo apelles, so ganz habe ich es immer noch nicht verstanden. Du zeichnest wie viele Bitmaps? Ich hoffe doch nur eines. Genauso hoffe ich, dass Du Programmlogik von der Darstellung trennst. Sprich folgendes: Du hast eine Matrix (z.B. Dictionary mit "Point" als Key und eine eigene Klasse, die den Zustand des "Pixels" sich merkt, die auch weiü, welches Quadrat sie innerhalb des Gesamtbildes darstellen soll (Key), und sich bei Bedarf neu zeichnen lassen kann, indem man das Graphics-Objekt einer eigenen Paint-Methode übergibt.) Also schematisch gesprochen so: 1. Datenhaltung -> Dictionary (Key: Point - X und Y Koordinate, Value: eigene Klasse Life-Quadrat) 2. Eigene Life-Quadrat-Klasse: 2a. Sie bekommt über eine Eigenschaft einmalig initial mitgeteilt wo dessen Location sich befindet (Position der linkeren oberen Ecke des Quadrats innerhalb des Gesamtbildes). 2b. Sie hat die Information, ob sich darin gerade Leben befindet, oder nicht 2c. Sie bietet eine Paint-Methode an, die von aussen aufgerufen werden kann, die auch das Graphics-Objekt übergeben bekommt, und aufgrund der Location und der Lebensinformation dementsprechend ein leeres oder volles Quadrat zeichnet. 2d. Diese Klasse ist Bitte KEIN von Control abgeleitete Klasse (viiel zu langsam!) 3. Dein Game-of-life Programm 3a. Ist eine Klasse, die von (Scrollable-)Control abgeleitet ist 3b. Bei OnPaint wird ein Bild (Member-Variable) über die gesamte Fläche gezeichnet (Dein Game-Of-Life "Spielfeld") 3c. Dein Control überwacht nun das Dictionary zyklisch (z.B. mittels Timer). Dabei geht es alle Zellen durch, und setzt, bzw. löscht die Lebensinformation der einzelnen Zellen. 3d. Danach zeichnest Du das Bild neu (am Besten per Double Buffer, d.h. ein neues Bild, das Du nach fertigstellen einer Member-Variablen zuweist und ein Invalidate() aufrufst) Dein Control sollte dann auch noch von auüen Steuerbar sein (z.B. Timerintervall setzbar etc...) Dann sollte das performant und anständig umgesetzt sein. Ich habe jetzt zu wenige Kenntnisse auswendig, das in VB-Code auszudrücken, in C# könnte ich Dir das aus dem ćrmel schütteln ;-) Vielleicht muss man im Objektorientierten Programmierstil den Ansatz überdenken, sehr viele VB5, VB6 Projekte lassen sich nicht so 1:1 in VB.NET abbilden (<- SEHR WICHTIG!). Grüüe _ntr_ |
Guten Tag Maulwurf112 mit dem Aufruf "new" wird in C++ dynamisch Speicher für eine Variable auf dem Heap reserviert. Dazu muü entweder in der reservierenden Funktion ein Zeiger auf diese Variable deklariert werden, oder aber dieser Zeiger muü - wie in Deinem Falle - mittels Parameterübergabe an die reservierende Funktion übergeben werden. Leider verstehe ich von Visual Basic zu wenig, als daü ich Dir das in dieser Syntax erklären könnte. Ich muü hier auch für die aufrufende Funktion die C/C++ Syntax benutzen. In Kürze: void Aufrufende Funktion(void) { char* T1 = NULL; char* T2 = NULL; char* T3 = NULL; // Deklaration der Zeiger-Variablen int P; // Aufruf der Dll-Funktion mit übergabe der deklarierten // Variablen als Zeiger auf NULL: int _stdcall Produktanzeigen(P, T1, T2, T3); ... ... ... //Achtung! // Speicher erst nach Abschluü der String-Verwendung // oder nach Umkopierung freigeben!!! delete[] T1; deete[] T2; delete[] T3; } ======================================= int _stdcall Produktanzeigen(int PNr, char* cText1, char* cText2, char* cText3) { int l1, l2, l3; FILE *FDatei; FDatei=fopen("c:\Produkte.txt", "r"); if(FDatei) { // Innerhalb der Dll- Funktion "weiü" man um die Länge der // einzelnen Strings innerhalb der Datei, oder kann diese // ermitteln. Nehmen wir also an, dle Längen seien bekannt. // l1 bis l3 sind die einzulesenden Stringlängen in Byte. Hierzu // muü jeweils ein zusätzliches Zeichen addiert werden, welches // das den String abschlieüende NULL-Zeichen aufnimmt. cText1 = new char[l1 + 1]; cText2 = new char[l2 + 1]; cText3 = new char[l3 + 1]; // nun ist Speicher für die Strings reserviert und die String- // Variablen können benutzt werden. Direkt nach der öbergabe ist // der Wert aller drei String-Variablen noch NULL ( 0 ), aber // nach den Aufrufen von new haben alle drei String-Variablen // einen Wert verschieden von NULL! ... ... ... } Gruü A-Thaddaeus |
Hallo NgocKhanhLe, Ich bin zum ersten Mal hier und las deine Anfrage. Das ist meine Antwort: Grundsätzlich ist die Anwendung sowohl des Befehls als auch der Logik ist bei diesem Beispiel falsch: 1. Alles was in dem EXEC ausgeführt wird, so man als eine externe Prozedure betrachten. Wenngleich SQL Server für die Bildung der SQL-Anweisung die Variablen von ausserhalb der EXEC-Zeichenfolge benutzen kann, sind alle Variablen, denen in der gebildeten Zeichenfolge ein Wert zugeordnet ist, nich von ausserhalb der EXEC-Anweisung zugänglich. 2. Die EXEC-Anweisung führt aus, liefert aber keine Ergebnisse zurück, da keine RETURN-Möglichkeit besteht. Dafür benutzt man die SP (Stored Prozedures). Deswegen macht diese Anweisung keinen Sinn. Die Ausgaben die man erleben darf, wenn eine EXEC-Anweisung ausgeführt wird, werden nur in dem Query Analyser ausgegeben, weil dieser als Ausgabe-Display benutzt wird. 3. Mein Vorschlag: a) Grundsätzlich gewöhne dich daran die SQL-Anweisungen, Befehle, Typen usw. in Grossbuchstaben zu schreiben. b) Deklariere eine SP, die als eingabe aller Parameter erwartet und einen gesuchten Wert zurückt gibt. z.B. <PRE> CREATE PROCEDURE ASP_ARC_SEQ_GET ( @Store_id INTEGER, @rvc_obj INTEGER, @ChkNo INTEGER, @Arc_Seq INTEGER OUTPUT ) AS BEGIN SELECT @Arc_Seq = Arc_Seq from TP_Chkarc_2004_1 Where Store_id = @Store_id and rvc_obj = @rvc_obj and ChkNo = @ChkNo END </PRE> Dann kannst du diese SP so aufrufen. <PRE> DECLARE @Arc_Seq INTEGER EXEC ASP_ARC_SEQ_GET 1, 1, 1, @Arc_Seq OUTPUT </PRE> Dann steht bei dir den Wert in der @Arc_Seq-Variable. Wenn du diesen Wert aber aus dem Programm suchst, brauchst du den EXEC nicht mehr. Der Aufruf einer SP und die Festlegung aller Parametern kann man auch im Programm erledigen, z.B. im VB.NET oder anderen... Mf |
aspx client-server variablen übergabe Hi @ all, kennt sich einer mit .NET WEB aus? ich will einem aspx file eine variable in der URL übergeben also index.aspx?id=2 wie lese ich die in VB code aus |
Hallo Daniel! Danke für die schnelle Antwort! :) Leider funktioniert das immer noch nicht... :( Er (der Browser ;) ) will per du nicht die Variable abspeichern... So sieht z.Z. mein code aus: Code: <% @language="VBScript" %> <html> <head> <title>Versuche in VBScript</title> <SCRIPT language="VBscript"> <!-- Private Sub Name_LostFocus() Dim strName As String strName = Name.Text End Sub // --> </SCRIPT> </head> <body> <form name="test"> <input type="text" name="Name" size="20"> <input type="button" name="text" value="Press me" onClick='msgBox "Hallo " & strName'> </form> <input type=button name=test value="press" onClick='msgBox strName'> <hr> </body> </html> Hab deinen Code wieder ein bisschen verändert... Aber so wie du ihn geschickt hast, hat er auch nicht funktioiert und so müsste er ja auch funktionieren... ;) Arbeite noch nicht lange mit VBScript bzw VB deswegen, was erreichst du mit der zeile: strName = Name.Text ??? Mich irritiert das .Text... hab das noch nie gelesen... das andere ist klar. Wahrscheinlich geht das, so wie ich mir das vorstelle gar nicht. Da so wie ich das mitbekommen habe, die Variablen erst gespeichert bzw weiter verarbeitet werden, wenn sie per submit versandt werden... aber ich sehe doch mein Eintrag auf dem schirm, also muss ich doch auch irgendwie darauf zugreifen können!? greez, Mac. |
Leider nicht funktioniert... Ich weiü zwar, dass es euch nicht viel bringt, wenn ich hier jetzt mein QT poste, aber vielleicht seht ihr ja ein ganz einfache Lösung. Die Aufgabe: Die gesammte Rechnung soll gerechnet werden, so dass als ergebnis: -658938021599 herauskommt. Jedoch muss man zu anfangs eine 12 stellige Zahle einsetzen um zu beginnen. Code: DIM a, b, c, d, e, f, g, h, i ,j ,k, l, x as Long a, b, c, d, e, f, g, h, i ,j ,k, l, x = 0 Die Variable X muss eingeben werden, um die rechnung auszuführen... On Button click: Code: x = textbox1.text var a = mid (x, 1,1); var b = mid (x, 2,1); var c = mid (x, 3,1); var d = mid (x, 4,1); var e = mid (x, 5,1); var f = mid (x, 6,1); var g = mid (x, 7,1); var h = mid (x, 8,1); var i = mid (x, 9,1); var j = mid (x, 10,1); var k = mid (x, 11,1); var l = mid (x, 12,1); //bis hier wurde X zerlegt und auf die Variablen aufgeteilt. var x = 0 a = a * b * 3 * d + 75 -l b = e * b * a - b * h * 2 c = g * g - p * 110 * d d = a * c * e -10 * l + 785 e = 700 - h * f + c * 8 f = p + b * f * a * e - (1 * c + 12) g = a + c + d * i + b * p * b - 3 * 40 - g * j h = i * g + k * 5 - c - a i = g * e * - 2 * 2 - (d * c * a * j) j = i + (125 * j + 50) * (2 * l) k = k * k * k - c l = c * a - d * l - (125 * p - 120) x = a * b - c * d - e * f + g * h + i - j - k - l - 156 if(x == -658938021599){ alert ("Die Zahl die du eingegeben hast ist richtig.") } else alert("FALSCHE Zahl eingegeben.") // Dazu kommt: Es handelt sich um einen 12 Stelligen Code. Integer funzt also nicht dafür. Hoffe ihr seid so nett und helft mir, ich habe noch keine Ahnung von VB. THX im Vorraus - Ne0! |
Auf die Gefahr hin, dass ich deine Frage falsch verstehe: Du willst den Skriptteil von nur der 10. öbung erklärt haben? Dann frage ich mich, wieso auch die 11. öbung angehängt ist :) Code: Sub Waehrungsumrechnung ( ) Initialisiert eine Prozedur. Code: Dim dollarbetrag As Single, eurobetrag As Single Deklariert die Variablen dollarbetrag und eurobetrag als Zahlen vom Datentyp single. Code: Dim titel As String Deklariert die Variable titel als String. Code: Const WECHSELKURS As Single = 1.2154 Definiert eine Konstante WECHSELKURS mit dem Zahlenwert 1.2154 vom Datentyp single. Code: titel = “Umrechnung von Euro in Dollar“ Weist der Variablen titel den Wert "Umrechnung von Euro in Dollar" zu. Code: ’Eingabe des Eurobetrages Nur ein Kommentar. Code: eurobetrag = InputBox(“Bitte Betrag in Euro eingeben: “, titel) Weist der Variablen eurobetrag das Ergebnis einer Eingabeaufforderung mit dem Titel titel und dem Beschreibungstext "Bitte Betrag in Euro eingeben:" zu. Code: dollarbetrag = eurobetrag * WECHSELKURS Weist dollarbetrag das Produkt von der Variablen eurobetrag und der Konstanten WECHSELKURS zu. Code: ’Ausgabe des Dollarbetrages Nur ein Kommentar. Code: MsgBox eurobetrag & “ EUR entsprechen “ & dollarbetrag & “ $“ Gibt eine MessageBox aus, deren Beschreibung aus den Strings eurobetrag, " EUR entsprechen ", dollarbetrag und " $" zusammengefügt wird. Code: End Sub Ende der Prozedur. Ich habe kaum Erfahrung mit Visual Basic, daher sind das nur (meiner Meinung nach korrekte) Annahmen über die einzelnen Befehle des Programms. |
[VB] frage zum auswahl- und bubblesort also leute, ich hab da gewisse probleme, die ausführungen des lehrers zu verstehen, ich raff des einfach net. im informatik-unterricht haben wir uns ein programm zum ziehen der lottozahlen überlegt, der schwerpunkt hierbei leigt ja auf zufalsszahlen, das kann ich auch. dann sollten diese zahlen aber auch noch sortiert werden, und dann ging es los. als erstes wurde uns der auswahlsort mit einem sortierfeld ( array ) erklärt. hier die erste frage: was ist dieses sortierfeld, wie weiü der rechner das es dieses sortierfeld gibt, oder ist das einfach nur zur vereinfachung gedacht? denn wir haben uns zum sortieren 2 variablen genommen ( i und j ). zur vereinfachung an der tafel hat der lehrer 6 zahlen so aufgeschrieben: 8/1/17/5/9/21 . er meinte jetzt, bei auswahlsort würde die 1. mit der 2. zahl, dann die 1. mit der 3. zahl usw. verglichen, soweit so gut. aber wie würde jetzt der programmcode aussehen, bestehend aus den variablen i und j, sowie dem ende des sortierfeldes ( wurde von uns einfach "gröüe" genannt ) und welche variable wird jeweils welcher zahl zugeordnet??? dann der bubblesort, da hab ich garnix mehr verstanden: wieder die gleiche zahlen : 8/1/17/5/9/21 . hier meinte der lehrer ( hab ich aber auch net ganz verstanden ) , es würde die 1. mit fer 2. zahl verglichen, dann die 2. mit der 3. usw. auch hier soweit so gut, aber geht das von vorne oder von hinten los ( also ist die erste überprüfung 8 und 1 oder 21 und 9 ) ??? und wie würde die "2. runde" aussehen, wenn man einmal von links nach rechts bzw. rechts nach links durch ist??? wo geht das sortieren dann wieder los? und wie würde hier mit den variablen i und j gearbeitet werden und welche zahl wäre das jeweils??? also, ich hoffe ihr könnt mir helfen, heute oder morgen wäre net schlecht.... |
-Variablen --> Naja, halt ein Platzhalter der einen Wert annimmt den du ihm zuweist -option explicit --> Wenn diese Option gesetzt ist müssen alle Variablen im Kopf des Codes deklariert werden -deklarieren --> Die im Code Verwendung findenden Variablen angeben, dabei normalerweise auch den Typ den die Variable im Speicher einnimmt -single -> Einer der Typen die eine Variable annehmen kann. -die zeile: "Dim blabla as single" --> Deklaration der Variable als Datentyp 'Single' -konstanzen -> Eine Konstante ist das Gegenteil einer Variablen, sie hat immer den gleichen Wert Datentypen (aus der Hilfe zu Visual Basic): Byte: 1 byte, 0 to 255 Boolean: 2 bytes, True or False Integer: 2 bytes, -32,768 to 32,767 Long (long integer): 4 bytes, -2,147,483,648 to 2,147,483,647 Single (single-precision floating-point): 4 bytes, -3.402823E38 to -1.401298E-45 for negative values; 1.401298E-45 to 3.402823E38 for positive values Double (double-precision floating-point): 8 bytes, -1.79769313486231E308 to -4.94065645841247E-324 for negative values; 4.94065645841247E-324 to 1.79769313486232E308 for positive values Currency (scaled integer): 8 bytes, -922,337,203,685,477.5808 to 922,337,203,685,477.5807 Decimal: 14 bytes, +/-79,228,162,514,264,337,593,543,950,335 with no decimal point; +/-7.9228162514264337593543950335 with 28 places to the right of the decimal; smallest non-zero number is +/-0.0000000000000000000000000001 Date: 8 bytes, January 1, 100 to December 31, 9999 Object: 4 bytes, Any Object reference String (variable-length): 10 bytes + string length, 0 to approximately 2 billion String (fixed-length): Length of string, 1 to approximately 65,400 Variant (with numbers): 16 bytes; Any numeric value up to the range of a Double Variant (with characters): 22 bytes + string length, Same range as for variable-length String User-defined (using Type): Number required by elements, The range of each element is the same as the range of its data type. Zu den anderen Sachen kann ich dir nichts sagen. |
Innerhalb eines Scripts sind Variablen auüerhalb von Funkionen automatisch "öffentlich". Wenn die Variable auch eine Benutzerinteraktion überleben soll und/oder später in anderen Scripts ebenfalls ermittelbar sein soll, so muüt Du sog. "Session-Variablen" benutzen. Das $_SESSION-Array ist vergleichbar mit Visual Basics "öffentliche Variablen". Damit in den Scripts mit den Session-Variablen gearbeitet werden kann, MUSS immer (möglichst gleich als erstes) die Funktion session_start() aufgerufen werden. Der Name ist etwas verwirrend, weil damit nicht nur Sessions "gestartet", sondern auch fortgesetzt werden. Auüerdem solltest Du nicht mehr $HTTP_POST_VARS benutzen (veraltet), sondern stattdessen $_POST: Code: Script 1: <?php session_start(); $_SESSION['name'] = $_POST['name']; $_SESSION['pw'] = $_POST['pw']; ... ?> Code: Script 2: <?php session_start(); echo "Dein Name lautet: ".$_SESSION['name']; echo "Dein Passwort lautet: ".$_SESSION['pw']; ... ?> Speziell zu dem Beispiel sei angemerkt, dass die Werte einer Session (hier Name und Passwort) auf dem Webserver meistens in einem temporären Ordner in einem temporären File gespeichert werden. Von auüen hat zwar niemand Zugriff darauf, trotzdem wird nicht empfohlen, sicherheitsrelevante Information (hier das Passwort) in Sessions zu speichern, da ein Webadmin o.ä. theoretisch die SessionFiles anschauen kann (Textdateien). Ich halte es nur für ein mittleres bis kleines Risiko, will es aber trotzdem genannt haben. |
Frage zu C# Variablen Guten Morgen So ich arbeite mich grad in C# ein. Verwende das Buch C# in 21 Tagen. Also habe da ein Programm Code: using System; namespace Kap3 { class CUps { static void Main(string[] args) { int iZahl1 = 10; int iZahl2 = 9; int iErgebnis = 0; iErgebnis = iZahl1 - iZahl2; Console.WriteLine("{0}",iErgebnis); Console.ReadLine(); } } } So das Teil funktioniert bestens und wirft den Wert 1 aus. So die Zahl 10 bzw. 9 sind literalen Konstanten und werden als Variable int deklariert. So das der Speicherbereich von int 0-4.294.967.295 beträgt hätte ich gern die Variable short genommen (Speicherbereich)+ 32.767 nur als Beispiel da ja int die reinste Verschwendung ist beim Zahlenwert 10. Code: using System; namespace Kap3 { class CUps { static void Main(string[] args) { short sZahl1 = 10; short sZahl2 = 9; short sErgebnis = 0; sErgebnis = sZahl1 - sZahl2; Console.WriteLine("{0}",sErgebnis); Console.ReadLine(); } } } So jetzt wirft mir Visual .NET den Fehler raus "Implizite Konvertierungen des Typs int zu short nicht möglich! Wenn ich das ganze dann so mache Code: using System; namespace Kap3 { class CUps { static void Main(string[] args) { int iZahl1 = 10; short sZahl1 = 0; sZahl1 = (short) iZahl1; int iZahl2 = 9; short sZahl2 = 0; sZahl2 = (short) iZahl2; int iErgebnis = 0; short sErgebnis = 0; sErgebnis = (short) iErgebnis; sErgebnis = sZahl1 - sZahl2; Console.WriteLine("{0}",sErgebnis); Console.ReadLine(); } } } die gleiche Fehlermeldung! Es muss doch möglich sein das ganze in short abzulegen. int ist ja verschwendunmg!! Was mach ich falsch?? Thanks |
Wenn du beim speichern eine Variable für Spalte und Zeile verwendest ist das ganze ziemlich einfach. Jedesmal, wenn auf den Button geklickt wird, eröht sich entweder die Variable "Spalte" oder "Zeile" und wird anschlieüend als Koordinate verwendet. Vielleicht hilft der Code: Code: Option Explicit 'Variablen müssen deklarriert werden Dim Spalte, Zeile As Integer 'Variablen für Zeile und Spalte der Excel-Tabelle Dim excel As Object 'Excel wird als Objektvariable deklarriert Private Sub Form_Load() Set excel = CreateObject("Excel.Application") 'Der Excel Variable wird ein OLE-Server-Objekt(Excel) zugewiesen excel.Visible = True 'Die Tabelle wird beim Programmstart sichtbar gemacht excel.Workbooks.Open App.Path & "datenbank.xls" 'Tabelle datenbank.xls wird geöffnet End Sub Private Sub speichern_Click() Zeile = 1 Spalte = 1 excel.cells(Zeile, Spalte).Value = Text 'Der Inhalt des Text1-Feldes wird in die Excel-Tabelle gespeichert End Sub Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) excel.ActiveWorkbook.Close SAVECHANGES:=True 'ćnderungen werden automatisch gespeichert excel.Quit Set excel = Nothing End Sub Mit ihm werden Daten aus einem Textfeld in eine Exceltabelle gespeichert. Genaueres weiü ich nicht, ich beschäftige mich seit langem nichtmehr mit VB. |
[quote author=bgbgbg link=board=12;threadid=12374;start=0#msg71737 date=1044216476]gibt es irgendwelvhe groüen nachteile (oder vorteile) zu z.b c++, [/quote] Das kommt ganz auf den Standpunkt an. In C++ kann man z.B. Operatoren überladen und Mehrfachvererbung durchführen, wohingegen in Delphi wie auch in Java nur die Ableitung von einer Klasse (evtl. plus Interface) möglich ist. Ob das jetzt ein Vorteil oder ein Nachteil ist, kann ich nicht sagen. Ich habe beides noch nicht vermisst :) Zitat:
Beides kenne ich nicht. In Basic an sich fehlt aber m.W. komplett die Objektorientierung. Und auf diese verzichtet man heutzutage eigentlich nicht freiwillig. In den meisten anderen Sprachen werden Variablen an beliebiger Stelle im Code deklariert (in Delphi gesammelt im var-Abschnitt). Hat auch beides Vor- und Nachteile. Bei Delphi erhöht es die Compiler-Geschwindigkeit. In Delphi gibt es strenge Typprüfung. Man kann nicht einfach einer Integer-Variable einen String zuweisen (selbst wenn der eine Zahl enthält). In Visual Basic gibt es diese Strenge nicht (was aber auch die Fehleranfälligkeit erhöhen kann). Java ist komplett objektorientiert, Delphi hingegen eine Hybridsprache (man wird nicht zur OO gezwungen). Auch hier gehe ich davon aus, dass die Entwickler der Sprachen in beiden Fällen ihre Gründe hatten. Java-Programme benötigen eine Virtual Machine, laufen dafür auf allen Plattformen. In C++ kann man sehr hardwarenah programmieren (und dadurch auch viele Fehler einbauen), was in Delphi durch die höhere Abstraktion nicht möglich ist. Diese (spontane) Liste lässt sich bestimmt fortsetzen. |
Wie mit VB & WSH daten aus einer Datei holen? Hallo, Vorweg ich bin für jede nur erdenkliche Hilfe Dankbar: Ergebniss soll sein mit einer login.vbs ein laufwerk zu mappen und eine noch eine Datei wo der zusätzliche Benutzername und PW drin stehen Mit ner Batchdatei habe ich das bisher so gelöst und in Autostart des Users getan: Code: net use z: \192.168.0.1userverzeichnis /user:username userpasswort /persistent:no Nachteil wenn sich ein User an einen anderen Rechner anmeldet bekommt er sein Laufwerk nicht mehr darum möchte ich umstrukturieren Dafür hab ich 3 sachen. -Einen Benutzernamen (mit dem wird sich an der Domäne angemeldet) Max Mustermann -ein Benutzernamen(maier) und das dazugehörige Passwort(karl) für den Server von wem man das Laufwerk gemappt bekommt. -Die IP des Servers an dem sich derjenige Anmelden soll (192.168.0.1) So *lufthol* wenn man sich an der Domäne anmeldet mit name Max.Mustermann Dann kann man die Daten vom grad sich anmeldenen User in eine Variable schreiben Richtig? Code: Sub Mapping Dim WshNetwork, username Set WshNetwork = WScript.CreateObject("WScript.Network") username = WshNetwork.Username end sub soweit funzt das + Nur wie stelle ich jetzt eine Verbindung zu einer anderen Datei her ? + Was soll das für eine Datei sein(*.txt, *.ini oder muss das ne datenbank sein???) + Wie suche ich aus der Datei den Namen aus meiner Variable? + Wie nehme ich von der gesuchten stelle mit meiner Variable den Anmeldenamen und das Passwort herraus und schreibe die beiden sachen in Variablen? Mirko Edit So hab da mal nochwas rausgesucht aber obs so klappt bin ich mir nicht sicher: Code: Dim WshNetwork, RemoteName, RemotePw Set WshNetwork = WScript.CreateObject("WScript.Network") WshNetwork.MapNetworkDrive "Z:", "\192.168.0.1"RemoteName"_verzeichniss" "RemoteName" "RemotePw" somit bräuchte ich nur noch was woher ich den Inhalt der Variablen RemotePw und RemoteName bekomme |
Die 2003er Version, mit der ich die Tests gemacht habe, war eine Professional von Arbeit. Ich habe allerdings immernoch keine Liste gefunden, die konkret aufzählt, was nun eigentlich in der Express Version gegenüber den anderen fehlt. Alles was ich finde, sind so diffuse Sätze wie "streamlined version to ease handling for starter programmers" oder so ähnlich. Meine Meinung über Intellisense hat sich in den letzten Stunden übrigens sehr stark gewandelt: Mann, ist das Ding doof. Scheinbar wurde Genauigkeit und Vollständigkeit auf Kosten der Aktualität erhöht. Wenn ich im Header einer Klasse eine Funktion hinzufüge, braucht es scheinbar bis zum nächsten erfolgreichen Build oder einen Neustart von VisualStudio, damit die ćnderungen auch bei Intellisense ankommen. In der Implementation einer Funktion wechselt Intellisense im 20Sekunden-Rhythmus zwischen dem korrekten Scope und "(Unknown Scope)" hin und her und erkennt demzufolge nichts mehr, was an Variablen oder Funktionen in der Klasse so definiert ist. Die alte Technik, die Datenbank live anhand der aktuell getippten Zeilen zu aktualisieren, scheint diese Version von Intellisense nicht mehr zu beherrschen. Ist Visual Assist zu empfehlen? Ich kenne es bisher nur vom HörenSagen und was ich gehört habe, klang danach, als ob der Umstieg zu VAssist nur das Austauschen eines Haufens von Problemen und Schwächen gegen einen anderen Haufen Probleme ist. Dafür würde ich nur ungern 100 Eumel investieren. Zu VC8 sollte man vielleicht noch ein paar kleine, aber feine Verbesserungen beim Debugger erwähnen: Er kann jetzt sinnvoll den Inhalt von STL-Klassen anzeigen und beim simplen Draufzeigen auf eine Variable im Source klappt jetzt eine Anzeige auf, die auch das Durchsuchen von Unterelementen erlaubt. Sehr praktisch für Strukturen, Quickwatch habe ich seitdem nicht mehr anrühren müssen. Bye, Thomas |
Hallo, Wenn ich den Text so in Visual Basic eingebe bekomme ich die Fehlermeldung "Fehler beim Kompielieren: Sub oder Function nicht definiert" Woran kann das liegen? Hier mal mein Code wie ich ihn eingegeben habe: Private Sub Form_Load() Dim ServerIP As String ServerIP = "localhost" Winsock1.Connect ServerIP, 9300 End Sub Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long) Dim Eingangstext As String Winsock1.GetData Eingangstext 'Die Variable "Eingangstext" enthält jetzt das Telegramm Dim Eingang() As String Eingang() = Split(Eingangstext, Chr$(9)) 'Die Variablen "Eingang(0)", "Eingang(1), "Eingang (...)" enthalten jetzt die einzelnen Felder 'Quittungen überspringen, wenn gewünscht If Eingang(0) = "FMSTlg" Then If Eingang(6) = "14" Or Eingang(6) = "15" Then Exit Sub End If End If 'Jetzt werden die Felder in die Tabelle "Eingangstabelle" mit den Feldern Eingangsdatum Art Richtung Adresse Status Eingangsmeldung schreiben Set FMS = CurrentDb.OpenRecordset("Eingangstabelle") FMS.AddNew If Eingang(0) = "ZVEI" Then FMS!Eingangsdatum = Now() FMS!Art = "Z" FMS!Richtung = "an" FMS!Adresse = Eingang(1) End If If Eingang(0) = "FMSTlg" Then FMS!Eingangsdatum = Now() FMS!Art = Eingang(9) FMS!Adresse = Eingang(1) If Eingang(8) = "0" Then FMS!Richtung = "von" Else FMS!Richtung = "an" End If FMS!Status = Eingang(6) FMS!Eingangsmeldung = Eingang(13) End If FMS.Update FMS.Close Set FMS = Nothing End Sub MFG Christian |
Sprachausgabe für FMS-Pro Liste der Anhänge anzeigen (Anzahl: 1) Hallo Leute, für alle die ihren virtuellen Winpiepmelder oder einfach nur ihr FMS-Pro zum sprechen bringen wollen und ich hierfür noch nichts in der Suche gefunden habe: Ich habe eine Batchdatei geschrieben, die den Meldertext, der von FMS-Pro übergeben wird, mittels Befehlszeilen zu einer Sprachausgabe übergibt. Die Batch heiüt say.bat und funktioniert wie folgt: Nach Start durch eine FMS-Aktion wartet say eine zuvor eingestellte Zeit ab, um ein zuvor ausgelöstes Winpiepfenster mit Tonausgabe nicht zu stören. Danach nimmt say die übergebenen Variablen aus FMS-Pro und schickt sie durch einen MS-DOS-Zeichensatzwandler, weil die Sprachausgabe keine deutschen Umlaute und Sonderzeichen verkraftet und speichert sie in eine Zwischendatei. Jetzt liest say die Meldung wieder ein und sucht nach Alarmstichworten. Wenn eins gefunden wurde, wird es zu Beginn der Meldung erwähnt. Danach liest ein Token die umgeformte Meldung aus der Zwischendatei und speichert sie auf eine Variable. (Alleine das war ein Akt unter DOS!!!) Nun wird der String an die Sprachausgabe übergeben und ausgesprochen! Danach werden die Daten noch mit Datum und Uhrzeit in eine log.txt-Datei geschrieben. Beispiel: Durchsage mit Alarmstichwort: öbergebener Text: Â34231 12:30 Musterdorf Wohnungsbrand An der grünen Musterstraüe 11Â Sprachausgabentext: Achtung Alarmstichwort Wohnungsbrand Musterdorf Wohnungsbrand An der gruenen Musterstrasse 11Â Durchsage ohne Alarmstichwort: öbergebener Text: Â34231 12:30 Musterdorf W~.-nung**d An der grünen Musterstraüe 11Â Sprachausgabentext: Achtung Musterdorf W~.-nung**d An der gruenen Musterstrasse 11Â Installationsvoraussetzung sind ein paar Windowsprogramme zur Sprachausgabe, die ihr downloaden könnt (Links sind in der Anleitung enthalten). Ich habe es nur auf dem Betriebssystem W2K getestet, kann demnach zu anderen BS keine Aussage machen. Ich habe die Anleitung und allen nötigen Dateien in ein Zip-Archiv abgelegt. Siehe sprachausgabe.zip To Do Liste: Â den Winpiepbefehl mit in die Batch zu integrieren, damit man nur noch eine Aktion für beide Programme festlegen muss. Zurzeit wird der Winpiepmelder mit einer Einzelaktion gestartet und die Sprachausgabe über eine globale Aktion. Â ggf. diese Batch-Funktion in eine VB oder C++ Projekt packen, habe ich zurzeit leider nicht das nötige Wissen und die Zeit für. So, ich bin mal auf eure Meinungen und Erfahrungen gespannt. Gruss Michel |
Hallo Jungs, habe ein ähnliches Problem. Allerdings hat mein Type Array gleich zwei Nummer-Variablen nach denen ich sortieren müsste. Zuerst nach Variable 1, dann nach Variable 2. Die bisherigen Postings haben mir bisher leider nicht weitergeholfen :-(. Hab im ersten Schritt versucht ein Type Array mit nur einer Variablen zu sortieren. Selbst das hab ich nicht hingekriegt. Wie siehts bei Dir aus Thomas ? Schon was rausgefunden ? Gruü Biggi P.S. Ein normales Array zu sortieren ist kein Problem. Hier findet man ziemlich viel Code im Netz nur diese verflixten Type Arrays krieg ich nicht hin :-( Thorsten Albers schrieb: > Klaus Ketelaer <nospam@ketelaer.de> schrieb im Beitrag > <dj604f$e9a$1@online.de>... > > > - Für das Ersetzen eines Datenfeld-Elementes durch ein anderes > verwendest > > > Du den Zuweisungs-Operator '='; dieser läüt sich allerdings nicht bei > > > benutzerdefinierten Typen einsetzen, dort kommt der Befehl LSet zum > Einsatz > > > (oder man koopiert alle Typen-Felder einzeln). > > > > Grübel... > > Warum funktioniert folgender Code bei mir seit vielen Jahren? > > Sorry, mein Fehler! Das ist etwas, was ich schon seit Jahren nicht aus > meinem Kopf bekommen, muü irgendwie aus irgendeinem anderen Dialekt oder > einer älteren VB-Version stammen. Ich frage 'mal bei Gelegenheit den > Siggi... > > -- > ---------------------------------------------------------------------- > THORSTEN ALBERS Universität Freiburg > albers@ > uni-freiburg.de > ---------------------------------------------------------------------- |
Hallo Alois, > Meine kleine Lagerverwaltung (VB6, MDAC 2.7, WinXP SP2) funktioniert unter > Windows XP einwandfrei, da die Software auch unter XP entwickelt wurde. Auch unter NT40 oder Win2K sollte unter XP fehlerfrei laufen. > Jetzt habe ich unter Windows 2000 eine Fehlermeldung (dessen Ursprung ich > leider noch nicht nachvollziehen konnte) "Type Mismatch". Nach drücken der > Schaltfläche OK schmiert das Programm ohne weitere Rückmeldung ab!? Ein Hinweis darauf, dass es in Deinem Programmcode offenbar keine oder zumindest keine vollständige Fehlererkennung und Fehlerbehandlung gibt. Das solltest Du ändern. > Ich habe einen potenziellen Lösungansatz in der MSDE gefunden, das der > Fehler durch Variant-Variablen (Dim a) erzeugt werden. Eine Variable vom Typ Variant muss nicht per se eine Fehlerursache sein. > Der Lösungansatz ist, > den Typ explizit zu definieren (Dim a as long). Wenn Du weisst, dass der zu erwartende Datentyp Long sein wird, dann ist es natürlich sinnvoll, die entsprechenden Variablen auch als Variablen vom Typ Long zu deklarieren. > Allerdings werden in meinen > Programm alle Variablen explizit erstellt? Was genau meinst Du mit "Variablen explizit erstellen"? Man sollte grundsätzlich mit Option Explicit arbeiten, was dazu zwingt, alle Variablen zu deklarieren und implizite Deklarationen durch z.B. falsch geschriebene Variablennamen automatisch verhindert. > Problem tritt auf bei Windows > 2000 Prof., Home, SP4 > > Kann mir jemand einen anderen Lösungsansatz vorschlagen? Ohne wenigstens Deinen fehlerrelevanten Code zu kennen, kann Dir da sicher niemand wirklich weiterhelfen. > Wenn Ihr weitere > Infos braucht, sagt bescheid. Zeige mal den Codeausschnitt, bei welchem Dein Fehler auftritt. Das wird dann schon eher Schlüsse erlauben, was die Fehlerursache sein könnte. Gruü aus St.Georgen Peter Götz (Kein Link ?) (mit VB-Tips u. Beispielprogrammen) |
Ist ein Array anlegen unter WinCC 6 für ein C-Script möglich Hallo! Ich würde gerne eine Prüffunktion anlegen (angestoüen durch eine Button-Betätigung). Das ganze soll von einem C-Script unter WinCC 6 laufen. (Wenn es nicht anders geht auch VB-Script) Ich will ein Array mit ganzen Zahlen füllen, max ca. 100 Einträge ARRAY[1, 2, 3, 5, 7, 9, 13, 15, 17, 18, 19, ...] Auüerdem hab ich noch 2 binäre Variablen. ZUSTAND_1 ZUSTAND_2 Mit anstoüen des Scriptes soll immer das gleiche ablaufen. 1. Lese ersten Eintrag aus Array, schreibe Inhalt in eine Hilfsvariable 2. Setze Zustandsvariablen für 5Sek auf 0 / 0 --- 1. von 4 Möglichkeiten 3. Setze Zustandsvariablen für 5Sek auf 0 / 1 --- 2. von 4 Möglichkeiten 4. Setze Zustandsvariablen für 5Sek auf 1 / 0 --- 3. von 4 Möglichkeiten 5. Setze Zustandsvariablen für 5Sek auf 1 / 1 --- 4. von 4 Möglichkeiten ...anschlieüend 1. Lese nächsten Eintrag ... 2. Setze Zustandsvariablen für 5Sek auf 0 / 0 --- 1. von 4 Möglichkeiten 3. Setze Zustandsvariablen für 5Sek auf 0 / 1 --- 2. von 4 Möglichkeiten 4. Setze Zustandsvariablen für 5Sek auf 1 / 0 --- 3. von 4 Möglichkeiten 5. Setze Zustandsvariablen für 5Sek auf 1 / 1 --- 4. von 4 Möglichkeiten ...bis alle Array-Einträge durchgelaufen sind! Eine Meldung danach wäre Klasse! Jetzt zu der Problematik! Gibt es Arrays in WinCC ??? Kann man so ne Schleife, vor allem wegen dem Zeitbezug realisieren? Vielleicht hat jemand nen Tip! Wie gesagt, wenn es nur in VB geht, dann wär es auch in Ordnung! DANKE für die Hilfe Gruü hugolee |