Zum Inhalt springen

Rain

Mitglieder
  • Gesamte Inhalte

    177
  • Benutzer seit

  • Letzter Besuch

  1. Hallo an alle, Ich habe ein Verständnis-Problem: folgende Vererbungshierarchie ist gegeben: class A { private int a; public A(int a) { setA(a); } void doSomething(){ System.out.println("do Something - class B"); } } class B extends A { public B(int a) { super(a); } void doSomething(){ System.out.println("do Something - class B"); } } Nun lege ich eine Arraylist an: ArrayList<A> foo = new ArrayList<A>; foo.add(new A(1)); foo.add(new B(2)); Und nun möchte ich aus der ArrayList auslesen: public A getMe(int num){ return (A) (foo.get(num)); } Mein Problem das ich damit habe, ist dass die Vererbungshierarchie mir hier irgendwie verloren geht. Wenn ich jetzt die getMe Methode verwende, dann kann ich immer nur das doSomething() von Klasse A aufrufen, nicht aber das von Klasse B auch wenn das Objekt von der Klasse B ist... Meine Frage ist nun, wie löst man das elegant? Gibt es einen Weg, um eine Funktion zu schreiben, die mir je nach dem von welcher Klasse das Objekt ist, den richtigen Typ zurückgibt? Prinzipiell kann ja in Java der Rückgabewert einer Funktion nur von einem Typ sein, oder? also wenn z.B das Element in der ArrayList vom Typ ( dann gibt er mit ein Objekt vom Typ B zurück und nicht von der Superklasse A... Ich hoffe ich habe das einigermaßen verständlich erklärt... Vielen Dank für eure Hilfe im Voraus
  2. Hi, Vielen dank fur die Beiträge. Mein Fazit: Ich werds vorübergehend mit absoluten Angaben lösen, aber mich in die CSS Materie mehr einlesen... lg
  3. Hallo zusammen! Ich hoffe, dass das hier im PHP Branch des Forums nicht zu sehr offTopic ist.... Ich bin leider meilenweit weg von CSS und HTML (bzw. schon sehr lange nichts mehr damit gemacht), muss aber jetzt eine simple Homepage erstellen. Dazu verwende ich ein CSS-Stylesheet: Bei der Verwendung von: body { margin: 10px auto; padding: 0; font: 76% Verdana,Tahoma,Arial,sans-serif; background: #3399CC; } bibt es offensichtlich unterscheide zwischen FireFox und IE. Zumindest bei Firefox 2.0.0.6 unter opensuse 10.3 scheint die Schriftart kleiner als bei IE. Deutlich kleiner. Wer kennt das Problem, welche Lösung gibt's dafür? besten dank im voraus,
  4. Rain

    Shell: Finden und Kopieren

    danke sehr! problem gelöst! Hier für alle dies interessiert: #!/bin/bash cat $1 | while read a; do echo $a files="$(find /media/blabla -iname "*${a}*")" echo $files for X in $files do echo $X cp $X /root/destination done done
  5. Hallo und einen schönen Gruß and die Shell - Profis hier im forum. Ich moechte eigentlich nur zeilenweise dateinamen aus einer Textdatei auslesen. Für jede Zeile die ich gelesen habe, verwende ich find um in einem bestimmten Ordner (hier /media/bla/blabla) nachzusehen ob es diese Files gibt. Wenn ja dann kopiere diese in ein anderes Verzeichnis (hier /root/destination) also aufrufen tue ich das ganze so: ./searchCopy dataFile und so sieht das searchCopy script aus: #!/bin/bash cat $1 | while read a; do echo $a files="$(find /media/bla/blabla -name $a)" echo $files for X in $files do echo $X cp $X /root/destination done done Die ausgabe von $a klappt noch, aber in $X steht anscheinend nur ein Zeilenumbruch drinnen, daher wird auch nichts kopiert. Was passt da nicht? Würde mich über Tipps jeder Art freuen... mfg
  6. In linux:/lib/modules/2.6.13-15.13-default/build findet sich folgendes: linux:/lib/modules/2.6.13-15.13-default/build # ll total 248 drwxr-xr-x 2 root root 152 Dec 23 13:13 . drwxr-xr-x 3 root root 72 Dec 22 12:35 .. -rw-r--r-- 1 root root 251325 Dec 11 01:57 Module.symvers lrwxrwxrwx 1 root root 25 Dec 23 13:13 linux-2.6.13-15 -> /usr/src/linux-2.6.13-15/ lrwxrwxrwx 1 root root 29 Dec 23 13:12 linux-2.6.13-15-obj -> /usr/src/linux-2.6.13-15-obj/ hier mein /boot Verzeichnis: linux:/boot # ll total 6027 drwxr-xr-x 3 root root 496 Dec 24 13:34 . drwxr-xr-x 24 root root 576 Dec 24 2006 .. -rw-r--r-- 1 root root 756843 Dec 11 01:46 System.map-2.6.13-15.13-default -rw------- 1 root root 512 Dec 21 22:00 backup_mbr lrwxrwxrwx 1 root root 1 Dec 21 21:52 boot -> . -rw-r--r-- 1 root root 63905 Dec 11 01:56 config-2.6.13-15.13-default drwxr-xr-x 2 root root 632 Dec 23 11:09 grub lrwxrwxrwx 1 root root 27 Dec 22 12:35 initrd -> initrd-2.6.13-15.13-default -rw-r--r-- 1 root root 1741549 Dec 22 12:35 initrd-2.6.13-15.13-default -rw-r--r-- 1 root root 128000 Dec 21 22:18 message -rw-r--r-- 1 root root 73537 Dec 11 01:57 symvers-2.6.13-15.13-i386-default.gz -rw-r--r-- 1 root root 1840176 Dec 11 01:56 vmlinux-2.6.13-15.13-default.gz lrwxrwxrwx 1 root root 28 Dec 22 12:35 vmlinuz -> vmlinuz-2.6.13-15.13-default -rw-r--r-- 1 root root 1542725 Dec 11 01:46 vmlinuz-2.6.13-15.13-default Ich glaube, dass ich durch in online Update einen neuen Kernel installiert bekommen habe. Also den 2.6.13-15.13-default. Die Kernelsourcen habe ich aber nur für den 2.6.13-15. Kann das der Fehler sein? Wenn ja wie mache ich das Update ruchgängig, oder wie bekomme ich das make hin? Danke, rain
  7. Danke für die Antwort. Aber leider kann ich das make noch immer nicht ausführen. Es kommt immer noch der gleiche Fehler auch wenn ich in usr/src/linux: make clean make cloneconfig make prepare-all ausführe. Bin für jeden Tipp dankbar, rain
  8. Hallo alle miteinander! Ich wende mich an euch, da ich leider keine!! Ahnung mehr habe wie ich weiter vorgehen soll. Ich möchte gerne das Modul Keyboard Leds des Linux Kernel Module Programming Guides (http://tldp.org/LDP/lkmpg/2.6/html/index.html) als Kernel Module kompilieren. Dafür gibt es auch ein Makefile, dass wie folgt aussieht: BUILD=/lib/modules/$(shell uname -r)/build obj-m += kbleds.o all: make -C $(BUILD) M=$(PWD) modules clean: make -C $(BUILD) M=$(PWD) clean Wenn ich nun in dem Verzeichnis wo ich auch die SourceCode Datei liegen habe make ausführe bekomme ich folgende Ausgabe: make -C /lib/modules/2.6.13-15.13-default/build M=/KernelModules/kbleds modules make[1]: Entering directory `/usr/src/linux-2.6.13-15.13-obj/i386/default' make[1]: *** No rule to make target `modules'. Stop. make[1]: Leaving directory `/usr/src/linux-2.6.13-15.13-obj/i386/default' make: *** [all] Error 2 Das Verzeichnis /usr/src/linux-2.6.13-15.13-obj/i386/default (indem es ja anscheinend irgendwas nicht gefunden wird) sieht folgendermaßen aus: linux:/ # ls -l /usr/src/linux-2.6.13-15.13-obj/i386/default/ total 248 drwxr-xr-x 2 root root 152 Dec 23 13:13 . drwxr-xr-x 3 root root 72 Dec 22 12:35 .. -rw-r--r-- 1 root root 251325 Dec 11 01:57 Module.symvers lrwxrwxrwx 1 root root 25 Dec 23 13:13 linux-2.6.13-15 -> /usr/src/linux-2.6.13-15/ lrwxrwxrwx 1 root root 29 Dec 23 13:12 linux-2.6.13-15-obj -> /usr/src/linux-2.6.13-15-obj/ Ich habe mir über den Software Manager die Pakete gcc, g++ und die Kernelsourcen hinzuinstalliert. Mein /usr/src Verzeichnis sieht folgendermaßen aus: Was mich hier wundert - Warum gibt es hier drei verschiedene Verzeichnisse für einen kernel. Für was brauche ich das XX-obj Verzeichnis? linux:/ # ls -l /usr/src/ total 44728 drwxr-xr-x 7 root root 312 Dec 23 14:09 . drwxr-xr-x 12 root root 344 Dec 21 21:54 .. drwxr-xr-x 3 root root 80 Dec 21 21:51 kernel-modules lrwxrwxrwx 1 root root 15 Dec 22 17:55 linux -> linux-2.6.13-15 -rw-r--r-- 1 root root 45755705 Dec 22 14:06 linux-2.6.11.12.tar.gz drwxr-xr-x 19 root root 784 Dec 23 13:18 linux-2.6.13-15 drwxr-xr-x 3 root root 72 Dec 22 17:54 linux-2.6.13-15-obj drwxr-xr-x 3 root root 72 Dec 22 12:35 linux-2.6.13-15.13-obj lrwxrwxrwx 1 root root 19 Dec 22 17:55 linux-obj -> linux-2.6.13-15-obj drwxr-xr-x 7 root root 168 Dec 21 21:56 packages Meine Kernel Version uname -r: 2.6.13-15.13-default meine GCC version gcc --version:linux:/ # gcc --version gcc (GCC) 4.0.2 20050901 (prerelease) (SUSE Linux) Copyright (C) 2005 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. meine Make version:linux:/ # make -version GNU Make 3.80 Copyright (C) 2002 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. KANN ES SEIN, DASS ICH NICHT DIE PASSENDEN KERNEL SOURCEN HABE? linux:/ # rpm -qa kernel* kernel-default-2.6.13-15.13 kernel-default-nongpl-2.6.13-15.13 kernel-source-2.6.13-15 kernel-update-tool-0.9-10 Wenn das stimmt, wo bekomme ich die passenden her? Kann mir jemand einen Tipp geben warum das make für das Beispielprogramm nicht funktioniert. Fehler im Beispielprogramm schließe ich aus da ich es schon einmal auf einem anderen Rechner erfolgreich als Kernelmodul kompiliert habe. (Auf diesen habe ich leider jetzt keinen zugriff mehr). Es würde mich sehr freuen Tipps zu bekommen um herauszufinden was da genau nicht zusammenpasst! Vielen Dank im Voraus für eure Antworten, Lg und frohes fest, rain
  9. danke für den reply Das Problem ist dass ich keine Möglichkeit finde wie ich prüfen kann ob sich Bytes im Empfangsbuffer befinden!? Ich will das programm so einfach als möglich halten, daher versuche ich es mit polling. @Klotzkopp Was meinst du mit Dazu kommt, dass du den DCB gar nicht auf Abbruch im Fehlerfall eingestellt hast. vielen dank im Voraus
  10. Hallo miteinander! Ich versuche schon seit xx Stunden über den folgenden Code in einer while schleife zu pollen ob Bytes empfangen worden sind. Wenn dies Anzahl der empfangenen Bytes gleich der Länge ist die ich als Antwort erwarte soll diese Antwort ausgewertet werden. Über das Terminalprogramm kann man sehen, dass definitiv Werte gesendet werden. (auch in der richtigen Länge) HANDLE hRS232; DCB RS232Setting; COMMTIMEOUTS RS232Timeout; boolean RS232IsOpened = false; char key; .. MAIN ... while(true){ while(_kbhit()){ key = _getch(); if(key == 'e'){ ...sende Ende Command .... } } Sleep(100); if(GetNumOfBytesInBuffer() == 4){ cout<<"4 byte im Empfangsbuffer"<<endl; } } .... MAIN ENDE ... int GetNumOfBytesInBuffer(void) { COMSTAT sComStat; DWORD dwErrorFlags; if(!RS232IsOpened) { return -1; } //dwErrorFlags=0; if(!ClearCommError(hRS232, &dwErrorFlags, &sComStat)){ return 0; } return ((int) sComStat.cbInQue); int RS232Open(unsigned int PortNr,int BaudRate, int NumOfStopBits, int NumOfDataBits) { wchar_t RS232DeviceName[10]; /* Some rudimentary Error Checks*/ if(PortNr > UPPER_PORTNR_BOUND) { return -1; } if(RS232IsOpened) { return -1; } if(NumOfDataBits > 8) { return -1; } /* lets copy the desired PortNr to the identifier string*/ swprintf (RS232DeviceName,TEXT("\\\\.\\COM%i"), PortNr); hRS232 = CreateFile(RS232DeviceName,GENERIC_READ | GENERIC_WRITE,0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL); if(hRS232 == INVALID_HANDLE_VALUE) { switch (GetLastError()) { case ERROR_FILE_NOT_FOUND: printf("The specified COM Port does not exist!"); break; case ERROR_ACCESS_DENIED: printf("The specified COM Port is already in use!"); break; } return -1; } else{ SetupComm(hRS232, 1024, 1024); if(!GetCommState (hRS232, &RS232Setting)){ printf("%i", GetLastError()); return -1; } /* Initialise the Array RS232Setting with 0 */ RS232Setting.DCBlength = sizeof(DCB); RS232Setting.BaudRate = BaudRate; RS232Setting.Parity = NOPARITY; RS232Setting.StopBits = ONESTOPBIT; RS232Setting.ByteSize = 8; /* Flags */ RS232Setting.fBinary = TRUE; RS232Setting.fOutxCtsFlow = FALSE; RS232Setting.fOutxDsrFlow = FALSE; RS232Setting.fDtrControl = FALSE; RS232Setting.fRtsControl = RTS_CONTROL_DISABLE; RS232Setting.fDsrSensitivity = FALSE; RS232Setting.fOutX = FALSE; RS232Setting.fInX = FALSE; /* Now configure the Device according to the DCB Memset */ if(SetCommState(hRS232, &RS232Setting) == 0){ printf("%i",GetLastError()); CloseHandle(hRS232); return -1; } /*Set Comm Port Timeout's */ RS232Timeout.ReadIntervalTimeout =55; RS232Timeout.ReadTotalTimeoutConstant =150; RS232Timeout.ReadTotalTimeoutMultiplier =100; RS232Timeout.WriteTotalTimeoutConstant =75; RS232Timeout.WriteTotalTimeoutMultiplier =10; if(!SetCommTimeouts(hRS232, &RS232Timeout)){ CloseHandle(hRS232); return -1; } PurgeComm(hRS232,PURGE_RXABORT|PURGE_RXCLEAR); RS232IsOpened = true; return 0; } } Kann hier jemand erkennen wo das Problem liegt? Da ich mit der seriellen Schnitstelle unter Win noch fast keine Erfahrung habe bin ich mir auch nicht sicher ob das überhaupt der richtige Weg um zu pollen. Was funktioniert ist wenn ich etwas auf RS232 schreibe und dann sofort mit READ lese kann ich die Antwortnachricht problemlos lesen. Was aber überhaupt nicht funktioniert ist dieses pollen um zu prüfen ob bytes empfangen wurde. Verwende Win XP und MS Visual C++ 2005 Express Würde mich über jede Hilfe / jeden Tipp sehr freuen lg rain
  11. CDex kann auch direkt in mp3 umwandeln....
  12. mp3pro könnte dich interessieren....
  13. Hallo! Immer wenn ich auf eine Datei in einem "Webdav fenster" im Internetexplorer rechts klicke bekomme ich folgende Warnung: Das Ausführen eines Systembefehls auf diesem Objekt ist möglicherweise nicht sicher. Möchten Sie den Vorgang fortsetzen? Kann man das irgendwie unterbinden? Besten Dank im Voraus! mfg rain
  14. Hallo! Ich habe ein Image von einem realen Server gezogen. DAnach eine VMware Linux VM erstellt. Mit Knoppix gebootet. Danach mit partimage restore das image des realen Server in die VM eingespielt. Bis dahin hat alles geklappt. Doch das Linux bootet nicht. Daher habe ich den grub aufgerufen und folgende Befehle ausgeführt: root (hd0) ...filesystem type is reiser .... setup (hd0) danach neugebootet und dann kommt folgender Fehler: kernel (hd0,0)/boot/vmlinuz root=/dev/hda vga=0x314 splash=silent desktop resume=/dev/hda2 showopts Error 22: no such partition Besten dank im Voraus Thomas
  15. Hallo Miteinander! Ich bringe es einfach nicht zusammen, dass ich per Cronjob in einem Verzeichnis alle Datein lösche die älter als X Tage sind. Wahrscheinlich fehlt mir da noch der Überblick in der Linux welt. Wie könnte denn so ein Befehl aussehen? Besten Dank im Voraus Grüße rain

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

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

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...