
maxim_42
Mitglieder-
Gesamte Inhalte
145 -
Benutzer seit
-
Letzter Besuch
Inhaltstyp
Profile
Forum
Downloads
Kalender
Blogs
Shop
Alle Inhalte von maxim_42
-
Sorry , aber is Quatsch. LBound(arr) ist der kleinste Index des Feldes arr Ubound(arr) ist der größte. In der Schleife wird in Zeile row einer Excell-Tabelle jeweils in der col Spalte der Wert von arr(col) geschrieben. Das Ganze ist ein Import einer Datei die Tabulator-separierte Werte enthält. Importiert wird in eine Excel-Tabelle. Pro Eintrag in der Textdatei, ein Eintrag in der Excel-Tabell. Was meinst du damit?
-
So ohne weiteres kann man mit VB keine Konsolenanwendung erstellen. Wenn man es doch vorhat, muss man nach der Kompilierung die EXE verändern. Das geht z.b mit EditBin (wird mit Visual Studio ausgeliefert) Aufruf mit Parameter: SUBSYSTEM:CONSOLE Vorher sind noch Umgebungsvariablen zu setzen. Vcvars32.bat setzt diese Umgebungsvariablen. Etwas trickreich ist eventuell auch der Zugriff auf die Standartausgabe. Der Weg führt da über das FileSystemObject. Alles nicht ganz einfach. Wenn's geht, würde ich an deiner Stelle eine andere Entwicklungsumgebung wählen.
-
Oder hiermit: ::JustTime.bat Vor Zeiten mal im Netz gefunden und auf deutsche Verhältnisse adaptiert @echo off :: "JustTime.bat" puts the current time into the environment :: Written under MSDOS 7 (Win95), should work on all recent versions. :: The trick here is to use the first word of a command output :: as the name of a batch file. :: First find the line starting with "Current" that ends with the time :: A single CR/LF is sent to TIME with ECHO. to end the TIME command echo.|time|find /i "aktuelle" >ak##elle.bat :: We now have "Current time is 1:45:59.82p" (without quotes) in CU##ENT.BAT :: Since the first word is CURRENT, we need a command with that name ready :: Now create a batch file named CURRENT.BAT :: CURRENT.BAT will set the TIME variable to it's third argument (the time) echo set time=%%2>aktuelle.bat :: We now have "set time=%3" (without the quotes) in CURRENT.BAT :: Now CALL our CU##ENT.BAT, which will in turn run CURRENT.BAT call ak##elle.bat :: Display the time we worked so hard to get ::echo %TIME% :: Now delete both temporary batch files and erase the TIME variable del ak??elle.bat > nul ::set time= :: http://www.ericphelps.com ::JustDate auf deutsche Verhältnisse adaptiert @echo off :: "JustTime.bat" puts the current time into the environment :: Written under MSDOS 7 (Win95), should work on all recent versions. :: The trick here is to use the first word of a command output :: as the name of a batch file. :: First find the line starting with "Current" that ends with the time :: A single CR/LF is sent to TIME with ECHO. to end the TIME command echo.|date|find /i "aktuelles" >ak##elles.bat :: We now have "Current time is 1:45:59.82p" (without quotes) in CU##ENT.BAT :: Since the first word is CURRENT, we need a command with that name ready :: Now create a batch file named CURRENT.BAT :: AKTUELLE.BAT will set the TIME variable to it's third argument (the time) echo set date=%%3>aktuelles.bat :: We now have "set time=%3" (without the quotes) in CURRENT.BAT :: Now CALL our CU##ENT.BAT, which will in turn run CURRENT.BAT call ak##elles.bat :: Display the time we worked so hard to get ::echo %DATE% :: Now delete both temporary batch files and erase the TIME variable del ak??elles.bat > nul ::set time= :: http://www.ericphelps.com
-
Ja, das ist es was C für Schreibfaule so attraktiv macht. Alledings wird das Ganze schnell "unleserlich" wie in diesem Fall ergebnis += (z & ( 1<< (7-i) )) ? (1 << i) : 0 & ist der AND-Operator (binär) Beispiel 5 & 1 evaluiert zu 1 binäre Darstellung: 101 & 001 _____ 1 Der Operator << verschiebt das was links von ihm steht, X mal nach links. Wobei X der Wert ist der rechts vom Operator steht. Die hinzugekommenen Stellen werden 0 gesetzt. Beispiel 2 << 3 evaluiert zu 16 binäre Darstellung: 10 << 3 = 10000 Der ?: Operator: Könnte man am ehesten mit : "Wenn .. dann .. ansonsten .." übersetzen. Beispiel: A= (B> C)? 1 : 0 Wenn (B> C) true ist, dann ist A =1. Ansonsten ist A=0 Sehen wir uns nochmals den Ausdruck ergebnis += (z & ( 1<< (7-i) )) ? (1 << i) : 0 an. Für den Fall i= 0 evaluiert 1<<(7-i) zu binär 10000000 ( 1 sieben mal nach links verschieben) Der Ausdruck z & ( 1<< (7-i) ) ist dann != 0 ( und damit true) wenn in z das 8. bit gesetzt (1) ist. Wenn (z & ( 1<< (7-i) )) != 0 dann wird zu ergebnis (1 << i) hinzugezählt. Ansonsten 0.
-
Alles ungetestet... //1. unsigned anzBitsProZahl= sizeof(int)/4; unsigned ergebnis=0; unsigned z; for(int i=3; i>-1; --i){ Zahl z einlesen; ergebnis += z << ( i * anzBitsProZahl ); } //ergebnis ausgeben //2. unsigned ergebnis= 0; int i= 0; unsigned z; //z einlesen; while ( i < 4) { ergebnis += (z & ( 1<< (7-i) )) ? (1 << i) : 0; // alles klar? /* Beispielsweise für den ersten Schleifendurchgang: Wenn das 8. Bit der eingelesenen Zahl gesetzt ist, wird in ergebnis das erste Bit gesetzt. */ ergebnis += (z & ( 1<<i)) ? (1<<(7-i)) : 0; ++i; } //Ausgabe ergebnis [/PHP]
-
Wenn die DB nicht im Anwendungsverzeichnis gefunden wird, könntest du einen CommonDialog aufrufen mit dem der Pfad zur DB eingestellt werden kann. Den gefundenen Pfad köntest du mit SaveSetting in der Registry speichern und mit GetSetting beim nächsten Programmstart als Pfad zur DB benutzen.
-
Danke, alles klar.
-
VB: Datenbanken erstellen und mit ihnen Arbeiten
maxim_42 antwortete auf Gandalf_der_Graue's Thema in Basic
Mach dich mit derADO vertraut. DAO geht auch, ist aber veraltet. -
Nur so aus Interesse: Warum geht eigendlich const char* str="ABC"; str="DEF"; und was passiert dabei?
-
Das muss nicht mal unbewusste oder bewusste Benachteiligung sein. Möglich ist z.B auch, dass Jungen in einer Umgebung mit ausschliesslich weiblicher Lehrerschaft, die "Rolle" des Lernenden nur schwer übernehmen können. Es ist keiner da, der ihnen klar machen könnte, dass auch ein cooler Junge Interesse an Wissen haben darf. Ausserdem: Ich kenne die Studie nicht, und weiss nicht ob sie wissenschaftlich ok ist. Ich nehme es mal an. Ziemlich sicher bin ich mir aber, dass eine Studie, die zum gegenteiligen Ergebniss kommt, nicht in der Zeitung Die Welt zitiert werden würde. Huch wo ist denn das gelandet! Es war nicht meine Absicht einen neuen Thread aufzumachen. Mod Hilfe! Löschen klappt auch nicht.
-
Nachtrag Hab grad mal nachgeschaut. Das Ereignis in dem reagiert werden muss ist das _RowColChange-Ereigniss. Jedenfalls im MSFlexGrid Steuerelement.
-
Warum handelst du das Problem nicht in On_Click Ereignis ?? Ohne jetzt genau über die genaue Arbeitsweise des Grids bescheit zu wissen, gehe ich doch davon aus, dass sich ermitteln lassen muss, in welcher Zeile der Click stattgefunden hat. Wenn der User die falsche Stelle anklickt: Exit sub. Das scheint realistischer als einen Click zu "sperren"
-
VB - Datei zeilenweise auslesen und in ListBox ausgeben
maxim_42 antwortete auf Jusky's Thema in Delphi/RPG+CL/Sonstige
Sorry, hab auch was vergessen: Dem CommonDialog muss vorher seine Eigenschaft CancelError = true gesetzt werden. Etwa mit CommonDialog1.CancelError=true. Ansonsten wird halt kein Fehler beim Drücken des Abbrechen-Buttons geworfen, und wegen Resume next läuft dein Programm beim Versuch eine Datei über einen leeren String zu öffnen ins Nirvana. Sorry nochmal. -
VB - Datei zeilenweise auslesen und in ListBox ausgeben
maxim_42 antwortete auf Jusky's Thema in Delphi/RPG+CL/Sonstige
Um angemessen auf ein Abbrechen des CommonDialogs durch den User reagieren zu können, würde ich noch folgendes hinzufügen: On Error Resume Next CommonDialog_Option.ShowOpen If Err = cdlCancel Then Exit Sub End If Der CommonDialog wirft einen cdlCancel-Error wenn durch den User der Abbrechen-Button gedrückt wird. Die Sub die verlassen werden soll, wäre hier z.b. das Click-Ereigniss des Buttons mit dem der User eine Datei auswählen kann. -
Den String den du für die Konstruktion des Rec-Sets benutzt kannst du auch zur Laufzeit konstruieren.Etwa so: Dim strSQL as string Dim iWert as integer 'Wert wird durch Benutzer gesetzt strSql= "SELECT.....WHERE INHALT = " & iWERT & "Hier der Rest des Selects" Set rstitel = db.OpenRecordset(strSQL)
-
Interessant, man lernt nie aus: Danke für die Auskunft.
-
Geht sowas wie überhaupt? Muss da nicht dynamisch Speicher angefordert werden? l steht doch erst zur Laufzeit fest, oder?
-
Filtern innerhalb von Dateien / Tabellen
maxim_42 antwortete auf behrens_r's Thema in Delphi/RPG+CL/Sonstige
Komische Frage. Sicher lässt sich da "irgendwas machen". -
dim feld (5,10) as integer legt ein Feld aus 6 mal 11 Integer-Elementen an. Wüsste keinen Grund warum das nicht auch in VBA gehen sollte. Alle Elemente im Feld müssen vom Typ Integer sein. Im Unterschied zur Lösung mit Collections.
-
Ich nehme mal an, du arbeitest an einem VB-Projekt. Der commonDialog ist der Microsoft Common Dialog Control, bei mir in der Version 6.0. und muss über Komponenten... in das Projekt eingebunden werden. VB kann mit dem Printer-Objekt nur auf den Standartdrucker drucken. Soll ein anderer Drucker als dieser verwendet werden, gibt es im Grunde genommen nur zwei Möglichkeiten: 1. Der andere Drucker wird als Standartdrucker deffiniert. Dann kann man auf dem gewählten Drucker mit den im Druckerdialog vorgenommenen Einstellungen drucken. Der Nachteil ist, das der ausgewählte Drucker auch für andere Anwendungen dann der Standartdrucker ist. Auf jedem System gibt es nur einen Standartdrucker und die durch den Druckerdialog vorgenommenen Eistellungen sind Systemeinstellungen. 2. den Commondialog so konfigurieren, das er einen hDC (device context) zurückgibt. mit diesem dc kann man mit VB-Bordmitteln allerdings nicht viel anfangen. Der Druckjob muss dann über die WinAPI gedreht werden. Wie das für Word gehen soll, weiss ich allerdings nicht. Beispielcode für 1: On Error Resume Next CommonDialog1.PrinterDefault = True CommonDialog1.CancelError = True CommonDialog1.ShowPrinter If Err Then Exit Sub End If On Error GoTo 0 Beispielcode für 2: On Error Resume Next CommonDialog1.PrinterDefault = False CommonDialog1.Flags = cdlPDReturnDC CommonDialog1.CancelError = True CommonDialog1.ShowPrinter If Err Then Exit Sub End If hDC = CommonDialog1.hDC 'hDC als long deklariert On Error GoTo 0
-
Benutz doch einfach einen CommonDialog. Mit dem Ding kannst du auch Drucker auswählen.
-
Buchtipp zur Windows API
maxim_42 antwortete auf Guybrush Threepwood's Thema in C++: Compiler, IDEs, APIs
Ich muss ein Projekt pflegen, das in VB geschrieben ist Da kommt man öfter nicht drum herum Win32-Api-Funktionen einzusetzen wenn VB-Bordmittel nicht mehr weiterhelfen. Als Referenz für die Win32-Api benutze ich Petzolds Buch und bin damit bisher sehr gut gefahren. Es ist klar geschrieben, und die deutsche Übersetzung ist gut gelungen. Also: Empfehlenswert ja. -
Um über die Notwendigkeit eines Übertrags in .HighPart zu entscheiden, musst du wissen ob die Summe aus dem zu addierenden Werts (hier 64000) und dem schon in .LowPart gespeicherten Wert grösser ist als der grösste unsigned Wert, der sich in 32 bit darstellen lässt. Deine Abfrage entscheidet das aber nicht.
-
Sieht für mich so aus, als könnte man dem Problem ganz gut mit einer verketteten Liste zu Leibe rücken.
-
Nachtrag: Eigendlich kann man sich das Bitgeschiebe auch sparen, zumal der Fall, dass ein Überlauf erst bei der Addition der beiden ersten Bits auftritt nicht aufgefangen wird. Die Summe passt zwar garantiert nicht in 32 Bit , aber das Überlaufbit ist ja schon durch .HighPart++ berücksichtigt. Also: if(UINT_MAX-li.LowPart < iWert) { li.HighPart++; //Übertrag li.LowPart += iWert; } else { li.LowPart += iWert; } }[/PHP]