Jump to content

computercrustie

Mitglieder
  • Gesamte Inhalte

    207
  • Benutzer seit

  • Letzter Besuch

Alle erstellten Inhalte von computercrustie

  1. Hab mich vertippt, so muss es aussehen: http://www.ohse.de/uwe/articles/kbhit.html Das mit dem kopieren kannst du versuchen, aber ich glaube nicht, dass das so einfach klappt. Wenn ja, dann gut. Wenn nicht, dann musst du versuchen, die fehlenden Header zu bekommen, aber wie gesagt, habe kein Unix-System und kann dir da nicht weiterhelfen.
  2. Dann hast du dich sicherlich verschrieben. Wie gesagt, implementiere die Beispiele aus den Links die ich gepostet habe, da getchar() jeden Tastendruck zwar im STDIN stream ablegt, ihn aber auch gleichzeitig auf dem Bildschirm ausgibt. [EDIT] ICH habe mich verlesen, der Satz war nicht ganz eindeutig. Hätte auch sein können, dass du versuchst, anstatt der Sternchen das Passwort angezeigt zu bekommen. Sorry :floet: [/EDIT]
  3. :confused: Wie jetzt ? Genau das wolltest du doch !?
  4. Der erste Code, den ich gepostet habe läuft so auf jeden Fall auf einem "Windowswürfel" und müsste sich (mit Weglassen der Unterstriche vor _getch() und _kbhit()) auch ohne Probleme mit dem Builder bauen lassen.
  5. So trivial ist das Problem leider nicht, deshalb wurde unter DOS auch getch() implementiert, da es im Gegensatz zum ANSI-C Befehl getchar() die Zeichen aus stdin nicht "echot", also auf dem Bildschirm ausgibt. Und genau das ist auch dein Problem. Du musst dir den getch()-Befehl UND den kbhit()-Befehl aus einem der Beispiele aus den obigen Links "nachbauen" und diesen dann benutzen. An dieser Stelle kann ich dir so nicht weiterhelfen, da ich nur Windows laufen habe und so diese Unix-spezifischen Dinge nicht nachvollziehen kann.
  6. Ich hab was gefunden, ist aber zu lang zum posten. Die beiden Artikel beschrieben die Simulation der getch() und kbhit() Befehle unter Linux: http://www.ohse.de/uwe/articles/getch.html http:://www.ohse.de/uwe/articles/kbhit.html Oder du versuchst mal folgende Variante: http://www.pwilson.net/kbhit.html [EDIT] Oder probier mal das Beispiel, ist etwas kürzer: http://www.flipcode.org/cgi-bin/fcarticles.cgi?show=64166 [/EDIT]
  7. Ich habe das jetzt mal ausprobiert und noch etwas ganz anderes festgestellt, das könnte aber Betriebssystem abhängig sein. Was passiert auf dem Bildschirm wenn du getchar() benutzt ? Erscheinen bei der Passworteingabe Sternchen ("*") oder die Buchstaben die du eingegeben hast ?
  8. dann schreiben wir die kbhit() halt selbst: int kbhit(void) { if(getchar()!=EOF) //nächstes zeichen aus stdin holen und auf EOF prüfen { ungetc(stdin); //Zeichen vorhanden, wieder zurückschreiben return 1; //wahr zurückgeben } return 0; //ansonsten falsch } Ich hab's nicht ausprobiert, müsste aber funktionieren
  9. Nimm als erstes mal wieder den <string.h> Header rein, damit strcpy und strcmp bekannt sind. Jetzt includiere bitte die <stdio.h> und ersetze getch() mit getchar() oder getc(stdin). Probier das bitte mal aus. Sollte es funktionieren, dann habe ich auch schon die Lösung für dein kbhit() Problem.
  10. Nein, aber so weit ich es lesen konnte, gibt es unter Linux kbhit() und getch() nicht (es sei denn, eine entsprechende Implementation ist vorhanden:) http://www.tek-tips.com/viewthread.cfm?qid=939697&page=1
  11. Compilierst du unter Linux ?
  12. Ich stehe mehr oder weniger vor folgendem Problem: für ein Handygame möchte ich Figuren über den Bildschirm laufen lassen, die sich immer am Boden bewegen, in Löcher fallen können oder auch kleine Steigungen überwinden können. Aufgrund der geringen Größe der Figuren reicht es hier, diese mit einem Rechteck zu definieren. Das Problem ist eher der Hintergrund. Meine momentane (gedankliche) Lösung sieht so aus, dass ich mir die Pixel, die unter dem Kollisionsrechteck der Figur liegen, in einen Buffer lege und jetzt den Unteren Rand des Kollisionsrechtecks sowie den in Bewegungsrichtung liegenden (also linken oder rechten) Rand mit dem Buffer vergleiche. Ist also zum Beispiel kein Pixel im Buffer am unteren Rand gesetzt, "fällt" die Figur ein Pixel nach unten. Sind am Rand in Bewegungsrichtung mehr als angenommen 3 Pixel gesetzt, kann die Figur hier nicht weiter, ansonsten wird sie die Anzahl der gesetzten Pixel nach oben und eins weiter in Bewegungsrichtung bewegt. (Das gleiche auch für eine Anzahl Pixel von oben, falls die Figur zu groß ist um hindurchzupassen). Das Problem hierbei ist die Performance, da sich mehr als eine Figur bewegen sollen und das ganze wie gesagt auf dem Handy unter J2ME laufen soll. Hat jemand eine bessere Lösung ? Danke schonmal im Voraus
  13. bmg4ever und Guybrush Threepwood haben ja schon alles gesagt, deshalb hier nur die Implementation des Passwortvergleichs: char pass_cmp[_MAXZEICHEN]; //variable für das vergleichspasswort deklarieren strcpy(pass_cmp,"passwort"); //"passwort" nach pass_cmp kopieren //... //hier den vorigen code bis ende der while-schleife einfügen //... std::cout<<std::endl<<"Das eingebene Passwort ist "; if ( 0 == strcmp(pass,pass_cmp) ) //pass mit pass_cmp vergleichen std::cout<<"richtig."; else std::cout<<"falsch."; std::cout<<std::endl; while(!_kbhit()); //warten bis taste gedrückt } In diesem einfachen Fall kannst du den String-Vergleich mittels strcmp auch so durchführen: if (strcmp(pass,"passwort") == 0) ... Da sparst du dir die Deklaration einer Passwortvariablen.
  14. #include <stdio.h> #include <conio.h> //maximale Anzahl an Zeichen im Passwort #define _MAXZEICHEN 10 void main(void) { char c = 0; char pass[_MAXZEICHEN]; int cnt = 0; std::cout<<"Bitte geben Sie Ihr Passwort ein:"; while( 1==1 ) //endlosschleife { while(!_kbhit()); //warte bis taste gedrückt c = _getch(); //tastencode nach c auslesen if (c==13) //wenn return gedrückt dann ende break; if (cnt<_MAXZEICHEN) { std::cout<<"*"; //Sternchen ausgeben pass[cnt] = c; //zeichen merken cnt++; //zähler erhöhen } } pass[cnt] = 0; //letztes element in pass[] auf \0 setzen std::cout<<std::endl<<pass<<std::endl; while(!_kbhit()); } Das eingegebene Passwort steht am Ende in "pass" und kann dann verglichen werden.
  15. Das Problem habe ich soeben gelöst, indem ich die Wrapper-Klassen mit dem Klassenassistent von VC++6 (anstatt dem von VC++7) erstellt habe, dann da bekomme ich wie du bereits gesagt hast, einen LPDISPATCH Zeiger zurück und kann damit jetzt auf die Projekt-Struktur zurückgreifen. Aber jetzt habe ich das nächste Problem: Was muss ich implementieren, um die Events von MS-Project abzufangen ? Ich habe mich durch die MSDN gehangelt und versucht, die Beispiele die es dazu für Excel und Word gibt für MS-Project umzusetzen, allerdings scheitert es dort an der Eintragung meines Event-Objekts am Connection Point (Result(HRESULT) ist ungleich Null).
  16. Hallo ! Ich arbeite momentan an einer Schnittstelle (via OLE) zu MS Project 2002 und bin auf folgendes Problem gestossen: Ich habe aus der .olb von MS-Project mit VC++ 7 Klassen generieren lassen, mit denen ich Project steuern möchte. Das starten und erzeugen eines neuen Files klappt wunderbar, nur bekomme beim Aufrufen der get_Project() Methode nicht das (von mir) erwartete Klassenobjekt zurück. Und zwar benötige erst einmal das Klassengerüst einer Klasse, die in der odl wie folgt definiert ist: [ uuid(1019A320-508A-11CF-A49D-00AA00574C74), helpcontext(0x000200a9) ] coclass Project { [default] dispinterface _IProjectDoc; [default, source] dispinterface _EProjectDoc; }; Die beiden Klassen _IProjectDoc und _EProjectDoc kann ich mit dem Klassenassistent erzeugen lassen, aber ich benötige die Klasse "Project", da diese wie oben erwähnt von der Methode get_Project() der Application zurückgegeben wird. Nun meine Frage: wie kann ich deren Klassendefinition erzeugen (sie wird nicht im Assistenten angezeigt) ? Die Application-Klasse ist in der .olb ähnlich definiert: [ uuid(36D27C48-A1E8-11D3-BA55-00C04F72F325), helpcontext(0x0002008e) ] coclass Application { [default] dispinterface _MSProject; [source] dispinterface _EProjectApp; [default, source] dispinterface _EProjectApp2; }; Hier habe ich einfach die generierte Klasse _MSProject in "Application" umbenannt und es funktioniert (zumindest kann ich MS Project starten und File öffnen etc.) nur eben hilft das Umbenennen der Klasse aus Abs. 1 von "_IProjectDoc" in "Project" nichts (es lässt sich zwar kompilieren, aber zur Laufzeit bekomme ich Ausnahmefehler beim OleDispatcher). Weiss jemand von euch weiter ? PS: im Internet finde ich nichts zu diesem Problem (oder mir fehlen die richtigen Suchbegriffe)
  17. Der zweite Filter sollte so lauten: $regexFilter = str_replace("*", ".*?", $regexFilter); da sonst der RegEx "gierig" ist.
  18. Der Unix-Timestamp stellt die Sekunden dar, die seit dem 01.01.1970 0:00 vergangen sind. Dass bedeutet, dass du nur ausrechnen brauchst, wieviel Sekunden deine gewünschte Zeitdifferenz hat und ziehst diese zum Vergleich von dem aktuellen Datum ab. Beispiel: <?PHP $diff = 17280; //zwei tage in sekunden 60*60*24*2 $res = mysql_query( "SELECT MAX(postdate) FROM tabelname WHERE id='1'" ); if($res) { while(list($date)=mysql_fetch_row($res)) { $color = (time()-$diff>$date) ? 'red' : 'black'; echo "<font color=\"$color\">"; echo date("d.m.Y H:i",$date)." Uhr"; echo "</font>"; } mysql_free_result($res); } ?> [/PHP] Die andere Variante wäre, MySql das für dich erledigen zu lassen: [PHP] <? $sql = " SELECT DATE_FORMAT ( FROM_UNIXTIME( MAX(postdate) ), "%d.%m.%Y %H:%i" ) AS datum, CASE WHEN UNIX_TIMESTAMP() - 17280 > FROM_UNIXTIME( MAX(postdate) ) THEN 'red' ELSE 'black' END AS color FROM tabelname WHERE id = '1' "; if ($res = mysql_query($sql)) { while(list($datum,$color)=mysql_fetch_row($res)) { echo "<font color=\"$color\">$datum Uhr</font>\n"; } mysql_free_result($res); }
  19. Es wäre für die Zukunft auch besser, wenn du den Python-Code eingerückt innerhalb eines Code-Blocks darstellst, damit man diesen besser lesen kann.
  20. Nimm Anführungszeichen, nicht Hochkommata, da sonst keine Variablen geparst werden: $uri="http://www.beispielseite.de/cgi-bin/gsuchen.pl?q=$suchwort&id=Websuche"; [/PHP]
  21. Am besten den Link zu dem Script, dass auf die generierte Url weiterleitet, ein target geben: //aufrufendes Script <a href="urlgenerator.php" target="_blank">In neuem Fenster öffnen</a> [/PHP] [PHP] //urlgenerator.php header('location: http://.....');
  22. Wenn ich dein Posting richtig gedeutet habe, möchtest du den Browser des Client dazu veranlassen, eine von deinem Script generierte URL zu öffnen ? Dann am besten mit mit dem "header(..)"-Befehl: $uri='http://www.sv-granschuetz.de'; header("location: $uri"); [/PHP]
  23. Das hängt von der Größe deiner Textdatei ab. Je größer diese ist, desto ressourcenfressender ist natürlich auch das Einlesen in ein Array und das Halten im Speicher (daraus resultierend). Sollte diese Datei zu groß sein, um sie jedesmal komplett einzulesen und nach der Verarbeitung wieder zu speichern, dann solltest du sie eventuell mit Datensatznummern versehen (hattest du schon, wenn ich mich richtig erinnere) und diese seperat speichern. Also eine Datei, die die Datensatznummer und die zugehörige Position in der Datendatei enthält und die Datendatei an sich. Dann hältst du nur noch die Datensatznummern mit den Positionen im Speicher und der Rest wird auf Anforderung aus der Datendatei geholt.
  24. Wenn der Server, von dem das Style abgerufen werden soll, einen serverseitiges Scriptinterpreter laufen hat, dann kann man das mit dieser realisieren. Nur lädt man dann nicht direkt ein StyleSheet sondern eben die Ausgabe des Scripts. Ist zwar nur eine Notlösung, funktioniert aber auch ganz gut.
  25. Ah ! Also mit Mozilla das gleiche Sympton (Scrollen mit Rad ohne Balken), bei IE Balken aber kein Scrollen. Ich habs! Du hast im unteren Bereich eine nicht abgeschlossene Tabelle mit der Höhenangabe 100% - mach da mal 10px draus (nur zum testen).... (und schliesse vor allem die Tabelle korrekt ab) [EDIT] Noch etwas : width und nicht witdh... Ich habe den Sourcecode deiner Seite genommen, nicht den geposteten. [/EDIT]

Fachinformatiker.de, 2019 SE Internet Services

fidelogo_small.png

if_icon-6-mail-envelope-closed_314900.pnSchicken Sie uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App


Get it on Google Play

Kontakt

Hier werben?
Oder senden Sie eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...

Wichtige Information

Fachinformatiker.de verwendet Cookies. Mehr dazu in unserer Datenschutzerklärung