
Manfred.Becker
Mitglieder-
Gesamte Inhalte
148 -
Benutzer seit
-
Letzter Besuch
Inhaltstyp
Profile
Forum
Downloads
Kalender
Blogs
Shop
Alle Inhalte von Manfred.Becker
-
Hi Verena, also wenn es dir nur um den Integer-Wert geht, dann kannst du das auch direkt zuweisen (ohne subString und strcpy()): int a = atoi(name+1); Viel Spass...
-
Beziehst du dich auf mein Beispiel? Dort wird auch eine Variable (subString) verwendet. Reicht das nicht?
-
Hi sternchen_1709, dein subString ist ein char* !!!! Damit kannst du höchstens irgendwohin verweisen. Eine Zeichenkette kannst du damit nicht speichern. Wenn es lediglich um die Zeichenfolge ab dem zweiten Zeichen geht, dann darfst du einfach mit dem +Operator drauf zugreifen. Benötigst du aber wirklich eine eigene Variable, dann muss das ein char-Array sein, das mit Kopierfunktionen befüllt wird. Hier ein paar Beispiele: #include <stdio.h> #include <string.h> #include <stdlib.h> #include <conio.h> int main (void) { const char * name = "1234"; char subString[80]; printf("%d\n",atoi(name)); // Ausgabe: 1234 printf("%d\n",atoi(name+1)); // Ausgabe: 234 strcpy(subString,name+1); printf("%s\n",subString); // Ausgabe 234 strncpy(subString,name+1,2); subString[2]=0; // abschliessendes 0 printf("%s\n",subString); // Ausgabe 23 getch(); return 0; } [/PHP]
-
Hi, kontrolliere bitte mal dei Eigenschaft InputLen des MSComm-Controls. Die muss unbedingt auf 1 gesetzt sein! Sollte sie grösser 1 sein z.b. 16, dann werden immer nur Blockweise Daten gelesen. Wenns dann einen Rest gibt, kommt's nicht zum OnComm-Ereignis! Hier die abgespeckte OnComm-Funktion: Private Sub comm_scanner_OnComm() Dim BytesLeft As Integer Dim strIn As String Dim scannerstring As String BytesLeft = comm_scanner.InBufferCount scannerstring = "" Do While BytesLeft > 0 strIn = comm_scanner.Input scannerstring = scannerstring & strIn DoEvents BytesLeft = comm_scanner.InBufferCount Loop logfile.WriteLog scannerstring, ".\scannerstring.txt" End Sub [/PHP]
-
Hi jasso, ich selbst hatte noch mit keinem Betriebsystem jemals Probleme mit VB6 und der Ser. Schnittstelle! Höchstwahrscheinlich ist eine unsaubere Programmierung der OnComm-Funktion die Ursache. Hast du daran gedacht, dass während du Daten aus der seriellen Schnittstelle liest, noch weitere Daten hinzukommen können? Deshalb sollte die OnComm-Funktion etwa so aussehen: Private Sub MSComm1_OnComm() Dim ReceiveData(1024) As Integer Dim BytesLeft As Integer Dim i As Integer Dim nBytes As Integer Dim ch As Byte Dim strIn As String nBytes = 0 BytesLeft = MSComm1.InBufferCount Do While BytesLeft > 0 strIn = MSComm1.Input nBytes = nBytes + 1 If strIn <> "" Then ReceiveData(nBytes) = AscB(strIn) Else ReceiveData(nBytes) = 0 End If DoEvents BytesLeft = MSComm1.InBufferCount Loop ... End Sub [/PHP] Wichtig dabei ist die Do While BytesLeft > 0 Schleife! Poste doch mal deine OnComm-Funktion...
-
Mit Batch Datei einen Ordner von einem FTP laden?
Manfred.Becker antwortete auf bobzta's Thema in Anwendungssoftware
Hi bobzta, mit mget bekommst du nur die Files aus dem angegebenen Ordner kopiert, nicht aber die aus weiteren Unterordnern! Ich glaube dafür gibt's kein spezielles ftp Kommando. Allerdings könntest du es mit dem take-Kommando versuchen: take-Kommando: Durch die Eingabe von >take datei< werden alle FTP-Kommandos, die in datei vorhanden sind, ausgeführt. Auf diese Weise kann eine Stapelanwendung definiert werden. Dieses Kommando eignet sich insbesondere zur Übertragung mehrerer Dateien, falls der Host keine Mehrfachübertragung durch Platzhalter erlaubt (VSP-Rechner). Quelle: ftp-befehle -
PHP Verleih-System (Bücherei)
Manfred.Becker antwortete auf kills's Thema in Skript- und Webserverprogrammierung
Hi kills, schau dir mal das hier an: chronicles2000 falls es nicht das ist was du suchst, dann suche hier: www.php-free.de oder hier: Google -
Hi OdagTheCrow, also das mit der IP-Änderung wird so nicht funktionieren. Man kann zwar mit ipconfig eine neue IP-Adresse zuweisen lassen, allerdings nur für den gesamten Rechner, aber nicht nur für die DOS-BOX! Es gibt Tools (VMWare bzw. VirtualPC ) die emulieren einen Rechner im Rechner. Willst du vielleicht sowas?
-
error handling: mit err.raise erzeugter fehler springt nicht in die fehlerbehandlung
Manfred.Becker antwortete auf katz_1's Thema in Basic
Hi katz_1, natürlich wird dein zweiter Fehler ignoriert, weil du immernoch in der Fehlerbehandlung des ersten Fehlers bist!!! Du must mit Resume arbeiten, sonst wird das nie was! (Meinetwegen auch mit Resume Sprungmarke) -
error handling: mit err.raise erzeugter fehler springt nicht in die fehlerbehandlung
Manfred.Becker antwortete auf katz_1's Thema in Basic
Hi katz_1, was ist denn das für eine Fehlernehandlung (mit GOTO!!!)? Das ist mehr als übel! Ausserdem musst du in der Fehlerbehandlung mit RESUME arbeiten, um weiterzumachen! Hier mal ein Grundgerüst für die Fehlerbehandlung: Private Sub MySub() On Error GoTo ErrorHandler ... Step1: ... Exit Sub ErrorHandler: Dim ErrNumber, ErrDescription ErrNumber = Err.Number ErrDescription = Err.Description Select Case ErrNumber Case ??? Resume Case ??? Resume Next Case ??? Resume Step1 Case Else MsgBox ErrDescription, , "Fehler " & ErrNumber End End Select End Sub [/PHP] -
Hi, mal abgesehen davon, dass in der Funktion int teil() die Variable argv nicht übergeben wurde, und dann auch noch falsch eingesetzt ist... ... und selbst wenn man es richtig macht, ist die Zuweisung mit sprintf() so mehr als kritisch! int teil(char* value) { char string1[20]; sprintf(string1, "Hallo %s", value); . . . } [/PHP] Das funktioniert nämlich nur solange keine Zeichenfolge länger 13 Zeichen eingegeben wurde!!!! Ändere das bitte!
-
Hi Akim79, wie wärs damit? Option Explicit Sub test() Dim row%, column% Dim value For row = 1 To 3 value = Tabelle1.Cells(row, 1) Next row For column = 1 To 3 value = Tabelle1.Cells(1, column) Next column End Sub [/PHP]
-
Hi, das sagt die F1-Hilfe: CreateProcess The CreateProcess function creates a new process and its primary thread. The new process executes the specified executable file. BOOL CreateProcess( LPCTSTR lpApplicationName, // pointer to name of executable module LPTSTR lpCommandLine, // pointer to command line string LPSECURITY_ATTRIBUTES lpProcessAttributes, // process security attributes LPSECURITY_ATTRIBUTES lpThreadAttributes, // thread security attributes BOOL bInheritHandles, // handle inheritance flag DWORD dwCreationFlags, // creation flags LPVOID lpEnvironment, // pointer to new environment block LPCTSTR lpCurrentDirectory, // pointer to current directory name LPSTARTUPINFO lpStartupInfo, // pointer to STARTUPINFO LPPROCESS_INFORMATION lpProcessInformation // pointer to PROCESS_INFORMATION ); [/PHP] Der Inhalt von lpCommandLine ist typischerweise: "test.exe" "c:\\program files\\test.exe" ".\\weiterer ordner\\test.exe"
-
Hi Mahanaga, warum funktioniert das mit dem MS Loopback Adapter nicht?
-
...wer lesen kann ist klar im Vorteil trotzdem, keine Ursache
-
Hi, in diesem fall musst du umschliessende Hochkommas verwenden: MP3Filename = Chr(34) & "c:\test mit langem namen.mp3" & Chr(34) [/PHP]
-
Hi, zu VB.NET und MP3 findest du hier ein paar Infos: MP3-Titelinformationen mit .NET auslesen mciSendString-API
-
es geht aber auch einfacher: Changing the Background Color of an Edit Control oder: Changing the Background Color of Edit Controls
-
Hi, schau dir mal das an: CNewLabel : Advanced CStatic-Derived Class
-
konsole (cmd.exe) nicht sichtbar
Manfred.Becker antwortete auf artec2.2's Thema in C++: Compiler, IDEs, APIs
alles perfekt! Das mit dem Starten funktioniert allerdings auch nur dann, wenn du die im Programmers Notepad die Datei geöffnet hast, die vom Namen her genauso heist wie die exe! Bsp: Modul "Hello.cpp" EXE-Datei: "HELLO.EXE" Und die Exe Datei muss sich im gleichen Verzeichnis befinden wie das Modul. Wenns jetzt immer noch nicht geht, dann weis ich auch nicht weiter! (PS.: Ich hab die Version 2.05.48) -
Oh, jetzt bin ich wohl zu spät dran. :beagolisc Aber das hier hatte ich gerade fertig: Const ANZVALUES = 6 Private Sub CommandButton1_Click() Dim rowIndex%, colIndex%, index%, i% Dim itemName$ Dim zufall% Dim zArray(ANZVALUES) As Integer rowIndex = 1 'Startzeile (bitte anpassen!)' colIndex = 2 'Startreihe (bitte anpassen!)' Randomize Timer For i = 0 To ANZVALUES - 1 zArray(i) = -1 'Werte initialisieren' Next i For index = 0 To ANZVALUES - 1 Do zufall = Rnd(1) * 5 'Zufallswerte 0 bis 5' For i = 0 To ANZVALUES - 1 If zufall = zArray(i) Then zufall = -1 Exit For End If Next i Loop While zufall < 0 zArray(index) = zufall 'Zufallswert merken' itemName = "TextBox" & index + 1 UserForm1.Controls.Item(itemName).Text = Tabelle1.Cells(rowIndex + zufall, colIndex) Next index End Sub [/PHP] vielleicht bringt's ja noch was...
-
konsole (cmd.exe) nicht sichtbar
Manfred.Becker antwortete auf artec2.2's Thema in C++: Compiler, IDEs, APIs
Hi, entweder du hast eine falsche Angabe beimTool Property Command gemacht, oder deine Batch hat kein pause-Befehl am Ende. Wetten? -
konsole (cmd.exe) nicht sichtbar
Manfred.Becker antwortete auf artec2.2's Thema in C++: Compiler, IDEs, APIs
nein brauchst du nicht! bei mir tut's doch auch. Hast du bei der Option Console I/O: Capture output auch wirklich den Haken rausgenommen, wie ich empfohlen hatte? Solange dort ein Haken sitzt, gibts auch keine Ausgabe! Und verwendest du die Version 2? Nur mit der funktionierts. Übrigens setze mal in der DOS-Box 'nen cmd Befehl ab. Was passiert? Augenscheinlich nichts. Aber in Wahrheit wird ein weiterer cmd-Prozess im Hintergrund gestartet (siehe Task Manager). Und du must zweimal exit eingeben, um die DOS-Box zu verlassen. -
Hi Scorpio, das hier hilft dir weiter: Starten eines beliebigen Programmes als Service unter Windows NT/2000/XP
-
Ist das eine Hardware- oder Softwarefrage?