1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Mitglieder
  3. Vevusio

Beiträge von Vevusio

  • Gewerbeschein ja/nein?

    • Vevusio
    • 4. Mai 2008 um 01:58

    also ich war neulich mit nem freund bei nem firmengründungsworkshop von der wirtschaftskammer wo die das alles erklärt haben (und ich vermutlich schon wieder 60% davon vergessen habe)

    nen gewerbeschein kannst du dir einfach so "schnipps" holen, aber damit ist es (glaube ich) noch nicht getan

    du kannst jetzt halt ne "firma" gründen, das geht wenn du eu bürger bist, volljährig und nicht vorbestraft auch einfach so

    jedenfalls wenn du in diesem gewerbe das erste mal ne "firma" machst bekommst du so ziemlich alle kosten erlassen wenn du ein einzelunternehmen machst (läuft auf dich, du hast die 100% verantwortung)

    solange du nicht über ka 30.000 euro oder was das waren verdienst musst du keine sozialversicherung zahlen und so .. (was du ansonsten müsstest) und auch keine blaahwaa (vergessen)

    du solltest halt fürs finanzamt nen businessplan erstellen weil die sehen wollen dass du auch was verdienen wirst damit sie dir von dem steuern abknöpfen können etc

    naja es ist recht viel lässt sich nicht einfach so erklären, du kannst ja einfach zu der wk gehen und dir diesen workshop anhören, das dauert so 3 stunden und sie machen es glaub ich 2 mal die woche, ist auch kostenlos

    da bekommst du jedenfalls alle infos

  • JTextField

    • Vevusio
    • 4. Mai 2008 um 01:50
    Zitat von Prof.Furz

    easy mate!


    woa wieso sagen leute immer so scheiße wie "hey mate" "whatsup mate" usw, bin ich der einzige der den eindruck hat dass das so nach nem britischen balett tänzer klingt der nen bananendildo stecken hat?


    @topic
    möglichkeit 1)
    du erbst von jtextfield

    Code
    class InitialTextTextField extends JTextField implements FocusListener
    {
        public InitialTextTextField()
        {
            this.addFocusListener(this);
        }
        public void focusGained(FocusEvent e)
        {
            this.setText("");
        }
    }
    Alles anzeigen

    so auf die art, du überschreibst jedenfalls die focusGained (oder so ähnlich.. ka wie sie genau heißt) methode (wird aufgerufen wenn das feld angeklickt wird oder mit tab reingewechselt wird etc) und setzt dann den text auf nichts

    auf diese art und weise wird das textfeld jedes mal leer wenn du reinklickst (du kannst in focusLost zb ein backup von dem text machen und es mit dem alten backup vergleichen und wenn der inhalt nicht passt (weil du ne zahl drin stehen haben willst oder sonst was) dann packst du wieder das alte backup rein)

    möglichkeit 2)
    du regelst das nicht textfield intern mit einem überschreibenen textfield sondern lässt eine andere klasse (am besten die welche das textfield verwaltet) diese focus dinger übernehmen

    Code
    class HeyMate implements FocusListener
    {
        JTextField gayNameMate = new JTextField();
    
    
        public HeyMate()
        {
            gayNameMate.setFocusListener(this);
        }
    
    
        public void focusGained(FocusEvent e)
        {
            gayNameMate.setText("");
        }
    }
    Alles anzeigen

    auf diese art und weise musst du halt das textfield nicht überschreiben, hab das nur so hingefetzt ohne zu kompilieren, also wird das vermutlich auch nicht kompilieren, jedenfalls das ist die idee dahinter

    aja und wenn du nur beim ersten mal willst dass der text gelöscht wird musst du halt nen boolean flag setzen oder den focus listener wieder removen oder dir sonst was einfallen lassen

  • von tastatur lesen ohne blockieren

    • Vevusio
    • 15. Februar 2007 um 00:20

    wenn du den rückgabewert in einen int schreibst und den int ausgibst bekommst du den acii code, nimm char

  • Instanzen von einer Klasse vergleichen

    • Vevusio
    • 12. Februar 2007 um 00:33

    http://de.wikipedia.org/wiki/C-Plusplus/CLI

    aber dann denk ist ist es besser gleich c# zu nehmen

  • logging (Log4j) und dokumentation (JavaDoc) pendants

    • Vevusio
    • 6. Februar 2007 um 18:35

    ich denke auch die meisten verwenden doxygen, zumindest von den großen opensource projekten die ich gesehen habe hatte ich den eindruck das scheint ziemlich beliebt zu sein

  • Software Sampler programmieren...

    • Vevusio
    • 1. Februar 2007 um 19:50

    cpp und directx bzw c# mit managed directx

    samples für sowas gibt es genügend im directx sdk

  • Ausgabe von Wert falsch

    • Vevusio
    • 24. Januar 2007 um 08:44

    du hast in messwerte.c globale variablen namens i, anzahl, m, messwert usw

    die haben nur innerhalb dieser datei gültigkeit, soweit ich mich erinnern kann wie das in c läuft, jedenfalls tust du in der main nochmal eine anzahl, messwert usw definieren, die anzahl übergibst du als funktionsparameter, da ist es also egal, aber beim messwert nicht

    du liest also in die messwert variable in der main rein und messwerte.c benutzt aber die nicht initialisierte globale messwert variable in der messwerte.c datei

    da steht nur speichermüll drin da du sie ja nicht initialisiert hast

    ein zweiter fehler ist, du übergibst den beiden funktionen in der main "anzahl", in den funktionen heißt der parameter der anzahl bekommt i

    du hast aber in messwerte.c schon eine globale variable mit dem namen i definiert, wenn du also i = 0 schreibst in der for schleife gibt der compiler dem "int i" funktionsparameter den vorzug über der globalen variable i

    also du willst eigentlich den globalen zähler i auf = 0 setzen aber da du eine lokale variable i hast wird die mit dem namen i assoziiert (wenn globale und lokale variablen gleiche namen haben bekommen die lokalen den vorzug), du setzt also im endeffekt deinen parameter (=die anzahl die du übergeben hast) auf 0

    außerdem steht in der for schleife dann i < anzahl

    aber die globale variable anzahl in der messwerte.c datei ist wieder nicht definiert, mit anzahl meinst du semantisch natürlich die anzahl an werten die du hast aber die hast du in den parameter i übergeben

    du hast also erstmal die namen i und anzahl verpfuscht und zweitens bist du mit den globalen variablen durcheinander gekommen

    es gibt zwei sehr wichtige regeln, erstens solltest du nach möglichkeit keine globalen variablen verwenden (wenn du dennoch messwert global machen willst schau dir an wie das keyword extern funktioniert)

    aber du solltest jedenfalls keine globalen variablen machen und das messwert array ebenso wie die anzahl als parameter in die beiden funktionen reintun

    die zweite sehr wichtige regel die du verletzt hast ist, sprechende variablennamen verwenden, was ist m, was ist s, was ist anzahl, wieso heißt das messwert array messwert?

    i ist ok, i, j, k werden meistens einfach für for schleifen als zähler verwendet das kannst du so lassen

    aber
    - messwert ist ein array aus messwerten, nenn es also messwerte
    - anzahl ist die anzahl der messwerte, nenn sie also messwerteLaenge, messwerteAnzahl oä
    - m ist der mittelwert, nenn die variable also mittelwert

    etc etc, jetzt ist das noch egal aber wenn du große programme schreibst dann hast du irgendwann a = b * c + i; for(x=k; y != varMin; x++) { varMin *= a % varMax; }

    oder solche konstrukte und du hast keinen plan mehr was was ist und musst dauernd nachschauen weil du keine sprechenden namen verwendet hast, und wenn es sich nicht gerade um ganz eindeutige abkürzungen wie Min und Max handelt schreib abkürzungen immer aus

    wenn das programm trotzdem nicht zum laufen willst frag nochmal nach dann zeig ich dir wie ichs gemeit hab aber versuchs mal selbst

  • Hilfe Hilfe Hilfe

    • Vevusio
    • 22. Januar 2007 um 01:53
    Code
    Schreiben Sie eine Klasse (mit Konstruktor, Destruktor, Kopierkonstruktor, Zuweisungsoperator), die zu jedem Zeitpunkt „weiß“, wieviele Instanzen dieser Klasse gerade existieren. Diese Information soll über eine Methode [FONT=Courier new] anzahlInstanzen() [/FONT] dieser Klasse (Rückgabetyp [FONT=Courier new] unsigned int[/FONT]) abfragbar sein.
      Schreiben Sie ein Hauptprogramm zum gründlichen Testen der Klasse und lösen Sie folgende Teilaufgaben:[LIST]
    [*] Implementierung der Klasse wie oben beschrieben
    [*] Überladen Sie den Operator +, so daß Additionen zwischen Klassenobjekten und die Addition eines Integers (von links und von rechts) zu einem Klassenobjekt möglich sind. D.h. folgendes Hauptprogramm soll fehlerlos kompilieren (Das Ergebnis des Operators + soll wieder ein Objekt der Klasse sein. Der Wert des Resultats ist aber unerheblich). void main() 
    {
      Klasse x,y;
      int i;
    
      x+y,(i=Klasse::anzahlInstanzen());
      cout<<i<<",";
    
    
      x+y;
      i=Klasse::anzahlInstanzen();
      cout<<i<<endl;
    }
    [*] Lassen Sie das gegebene Programmstück laufen. Vergleichen Sie die Ausgaben der Version der Klasse mit Kopierkonstruktor und einer Version ohne Kopierkonstruktor. Interpretieren Sie die Ergebnisse.[/LIST]
    Alles anzeigen


    Lösung:

    C
    //IntWrapper.h
    #ifndef INTWRAPPER_H
    #define INTWRAPPER_H
    
    
    #include "IntWrapperCount.h"
    
    
    namespace IntWrapper
    {
        class IntWrapper
        {
            //Attributes
        private:
            int content;
            static IntWrapperCount intWrapperCount;
            //Constructors & Destructors
        public:
            IntWrapper():
                content(0) { intWrapperCount.IncreaseWrapperCount(); }
            IntWrapper(const IntWrapper &aIntWrapper):
                content(aIntWrapper.GetContent()) { intWrapperCount.IncreaseWrapperCount(); }
            IntWrapper(int aInt):
                content(aInt) { intWrapperCount.IncreaseWrapperCount(); }
                ~IntWrapper() { intWrapperCount.DecreaseWrapperCount(); }
            //Methods
            inline int GetContent() const { return content; }
            inline void SetContent(int aContent) { content = aContent; }
            static inline unsigned int GetIntWrapperCount() { return intWrapperCount.GetWrapperCount(); }
            //Operators
            inline IntWrapper& operator=(const IntWrapper &aIntWrapper)
            {
                content = aIntWrapper.GetContent(); 
                return *this;
            }
            inline IntWrapper& operator=(const int &aInteger)
            {
                content = aInteger;
                return *this;
            }
            inline IntWrapper& operator+=(const IntWrapper &aIntWrapper)
            {
                content += aIntWrapper.GetContent();
                return *this;
            }
            inline IntWrapper& operator+=(const int &aInteger)
            {
                content += aInteger;
                return *this;
            }
            const IntWrapper operator+(const IntWrapper &aIntWrapper) const
            {
                return IntWrapper(*this) += aIntWrapper;
            }
            const IntWrapper operator+(const int &aInteger) const
            {
                return IntWrapper(*this) += aInteger;
            }
            //Implementations
        };
    }
    
    
    #endif
    Alles anzeigen
    Code
    //IntWrapperCount.h
    #ifndef INTWRAPPERCOUNT_H
    #define INTWRAPPERCOUNT_H
    
    
    namespace IntWrapper
    {
        class IntWrapperCount
        {
            //Attributes
        private:
            unsigned int wrapperCount;
            //Constructors & Destructors
        public:
            IntWrapperCount():
                wrapperCount(0) {}
            //Methods
        public:
            inline unsigned int GetWrapperCount() const { return wrapperCount; }
            inline void IncreaseWrapperCount() { wrapperCount++; }
            inline void DecreaseWrapperCount() { if(wrapperCount > 0) wrapperCount--; }
            //Implementations
        };
    }
    
    
    #endif
    Alles anzeigen


    main, halt die die vorgegeben war

    C
    //main.cpp
    #include <iostream>
    #include "IntWrapper.h"
    
    
    using namespace std;
    
    
    IntWrapper::IntWrapperCount IntWrapper::IntWrapper::intWrapperCount;
    
    
    void main() 
    {
        IntWrapper::IntWrapper x,y;
        int i;
    
        x+y,(i=IntWrapper::IntWrapper::GetIntWrapperCount());
        cout<<i<<",";
    
    
        x+y;
        i=IntWrapper::IntWrapper::GetIntWrapperCount();
        cout<<i<<endl;
    }
    Alles anzeigen


    ergebnis mit copy constrkutor 3, 2
    interpretation: najaa also dieser , operator... (ist es überhaupt ein operator) bewirkt halt dass x + y ausgeführt wird, dabei wird ein neues IntWrapper objekt erstellt, noch bevor es aber wieder gelöscht wird, wird i initialisiert, dahier ist i zuerst 3

    beim zweiten mal wird einfach x+y; in einem schritt ausgeführt, neues objekt wird erstellt und gleich wieder verworden, dann wird i initialisiert, dahier ist i = 2

    wenn man den copy construktor wegkommentiert kommt 1, 0 raus, sieht so aus als würde es also einen default copy constructor geben der einfach nichts macht (also auch nicht den count inkrementiert)

    ich hätte eigentlich erwartet dass bei der ersten ausgabe eine 2 kommt, nach den beiden durch , getrennten operationen der count 1 ist und nach dem x + y; auf 0 fällt also dass die ausgabe 2, 0 ist

    ich weiß ehrlich gesagt nicht wieso es 1, 0 ist.. wäre nett wenn das jemand erklären könnte


    ich wollte zuerst eigentlich die linked list machen aber wie gesagt, ich weiß nicht wie das mit referenzen only gehen sollte (und mit pointern hatte ich keine lust, wollt was neues probieren weil ich vorher in c++ noch nie referenzen verwendet habe so richtig) wegen diesem next pointer, also, aus meinem 2t-vorherigen post

    Zitat


    hm... ich hab mir das grad so überlegt, man sollte ja keine pointer verwenden sondern referenzen, aber lässt sich das überhaupt mit referenzen lösen?

    node muss ja ein next haben, wenn next vom typ Node& ist dann muss ich im default konstruktor von Node next einen wert geben

    referenzen können in c++ nicht NULL sein, also muss ich ein new Node() darauf erstellen, das new Node muss wieder nen next haben etc etc, endlos rekursiver konstruktor

    hab ich da nen denkfehler drin oder lässt sich ne linked list in c++ halt nur über pointer realisieren


    wäre auch nett wenn jemand dazu auch was sagen könnte

  • Hilfe Hilfe Hilfe

    • Vevusio
    • 21. Januar 2007 um 22:43

    hm ja gut ich werd dir irgend eine von denen da lösen heute nacht

    muss aber erstmal pc spielen danach mach ich schnell eine :)

  • Hilfe Hilfe Hilfe

    • Vevusio
    • 21. Januar 2007 um 16:00

    hm... ich hab mir das grad so überlegt, man sollte ja keine pointer verwenden sondern referenzen, aber lässt sich das überhaupt mit referenzen lösen?

    node muss ja ein next haben, wenn next vom typ Node& ist dann muss ich im default konstruktor von Node next einen wert geben

    referenzen können in c++ nicht NULL sein, also muss ich ein new Node() darauf erstellen, das new Node muss wieder nen next haben etc etc, endlos rekursiver konstruktor

    hab ich da nen denkfehler drin oder lässt sich ne linked list in c++ halt nur über pointer realisieren

  • Hilfe Hilfe Hilfe

    • Vevusio
    • 21. Januar 2007 um 14:17

    ich bin mir jetzt nicht sicher ob es in c++ auch so ist aber eine struct kann zudem auch keinen default konstruktor sondern nur parametrisierte konstruktoren haben

  • Speicherabbild und Adressen

    • Vevusio
    • 19. Januar 2007 um 15:55

    hm.. ja kann schon sein dass da sowas wie

    Code
    printf("vek: %d\n", vek);
        printf("vek[0]: %d | vek[1]: %d | vek[2]: %d\n", &vek[0], &vek[1], &vek[2]);
        printf("v0: %d | v1: %d | v2: %d\n", v0, v1, v2);
        printf("sum: %d\n", &sum);

    gefragt ist, vielleicht will der lehrer darauf aufmerksam machen dass ein array dass im speicher steht die elemente hintereinander gespeichert hat und die array variable selbst (also vek) die selbe speicheradresse hat wie vek[0], man kann also auch auch vek[2] zugreifen indem man schreibt

    vek + 2 = 10; (sollte man allerdings nicht machen)

    das wäre dann dasselbe wie vek[2] = 10;

    Code
    vek: 1245020
    vek[0]: 1245020 | vek[1]: 1245028 | vek[2]: 1245036
    v0: 1245020 | v1: 1245028 | v2: 1245036
    sum: 1245012

    das wäre zb die ausgabe bei mir, aber ehrlich gesagt hab ich auch keinen plan was da mit speicherabbild gemeint ist

  • Noob braucht Hilfe

    • Vevusio
    • 19. Januar 2007 um 15:44

    das hat er drin weil eine ascii 0 gleich 48 ist, '1' ist als int 49 deswegen rechnet er überall -48, übrigens beim aller ersten if hast du -47 stehen ich denk das ist ein fehler

  • Open Source Projekte

    • Vevusio
    • 10. Januar 2007 um 18:28

    http://sourceforge.net/ ist wahrscheinlich das größte

    eines das ich auch gut finde ist
    http://www.codeproject.com/

    das sind die zwei großen die mir so spontan einfallen

  • Client-Server

    • Vevusio
    • 8. Januar 2007 um 00:18

    ein sehr gutes buch zu client-server programmierung ist
    http://www.amazon.com/Programming-Mu…d/dp/1556220766

    in dem buch gehts glaub ich um cpp aber das wichtige ist ja wie sowas funktioniert und nicht wie man es per syntax umsetzt

    einfache client server anwendungen sind schnell geschrieben aber wenn es darum geht netzwerkprogrammierung zu betreiben wo ein server erstellt werden soll der mehrere clients gleichzeitig bearbeitet gibts in dem buch sehr gut erklärte konzepte die in der praxis angewendet werden

  • unsigned char (feld) zu int [c++]

    • Vevusio
    • 19. Dezember 2006 um 17:16

    äh naja... du könntest zb

    Code
    #include <cstdlib>
    
    
    ....
    
    
        const int lineLength = 80;
        char line[lineLength];
    
        cin.getline((char*)line, lineLength);
        char c = strtol(line, 0, 10);
        cout << "Char is: " << c;
    Alles anzeigen

    cstdlib brauchst du für string to long int und äh... ja, nen direkten weg das so zu machen wie du willst gibt es glaub ich nicht >.>

  • Entwicklungsumgebung

    • Vevusio
    • 19. Dezember 2006 um 15:34

    1) ich hab nicht gesagt ich hab eine gecrackte, nur da blixa gefragt hat wieso, denk ich das könnte mit unter ein grund sein

    2) ja doch ich hab eine -.-, weil ich die schon seit jahren habe und zu faul bin neu zu installieren auch wenn ich an der tu ne richtige nachgeschmissen bekomme, aber naja solange alles läuft

  • Entwicklungsumgebung

    • Vevusio
    • 19. Dezember 2006 um 13:48

    oder eine gecrackte version von xp hat die sich nicht updaten lässt ohne diesen update crack sich wieder zu besorgen, wobei man dazu keine lust hat huh

  • unsigned char (feld) zu int [c++]

    • Vevusio
    • 17. Dezember 2006 um 16:01

    //edit

    ok, ja, stimmt

    Code
    unsigned char feld[] = "12";
    
    
        int feldZahl = atoi((char*)feld);
    
    
        cout << "feld ist: " << feldZahl;

    bzw wenn dein array nicht mit 0 abgeschlossen ist und du damit arbeiten musst, dann so hier:

    Code
    unsigned char feld[] = {'1', '2'};
    
    
        int feldZahl = (feld[0] - 48) + (feld[1] - 48) * 10;
    
    
        cout << "feld ist: " << feldZahl;

    und wenn die character in deinem uchar array keine chars sind also '1' sondern einfach nur 1 drin steht dann ohne das - 48 hinter jedem element

  • unsigned char (feld) zu int [c++]

    • Vevusio
    • 17. Dezember 2006 um 02:11

    äh du hast einen

    Code
    unsigned char feld;

    und willst einen integer?....

    Code
    int x = (int)feld;

    hm? -.-

Rechtliches

Impressum

Datenschutzerklärung