Jump to content

LittleBrother

Mitglieder
  • Gesamte Inhalte

    12
  • Benutzer seit

  • Letzter Besuch

Letzte Besucher des Profils

Der "Letzte Profil-Besucher"-Block ist deaktiviert und wird anderen Benutzern nicht angezeit.

  1. Wenn mich nicht alles täuscht und ihr dürft mich ruhig korrigieren, falls ich falsch liege, dann ist der erste Link eine C++ Lösung und beim Zweiten meckert mein Compiler, dass die Funktion "nicht sicher" ist. Und ja ich habe gesucht, zwar nach deutschen Stichwörtern, aber die Ergebnisse hier habe ich auch gefunden. Gibt es eine "sichere" Funktion, die man statt dem "getenv()" nutzen kann?
  2. Hallo Zusammen, ich arbeite mich grade in C etwas ein und habe ein kleines "Programm" geschrieben indem bestimmte Daten abgefragt werden. Unter anderem soll auch der Benutzername des angemeldeten Windowsbenutzers ausgelesen werden. Den Benutzernamen wollte ich in einem String speichern. Mein Problem hierbei, ich finde keine geeignete Funktion um A den Windowsbenutzer auszulesen und B ihn dann in einen String zu schreiben. Gruß LittleBrother
  3. Das Problem hat sich durch einen Denkfehler ergeben und ich habe mein Problem gelöst. Lösung: Ich spreche aus dem Access heraus eine Oracle SQL Datenbank an und nutze dem entsprechend auch eine Abfrage im Oracle SQL. Da habe ich natürlich die Funktionen, die ich haben wollte. Da Access die Anfrage ansich nicht verarbeiten muss, brauch er auch nicht zu verstehen, was die Abfrage macht, weil diese direkt an die Oracle Datenbank weitergeleitet wird. Das Ergebnis ist dann eine Tabelle. Genau das, was ich haben wollte. Vielen Dank, falls sich schon jemand Gedanken gemacht haben sollte
  4. LittleBrother

    Access, SQL

    Hallo liebe Community, in meiner Ausbildung arbeite ich seit einiger Zeit mit Access und erstelle fleißig Tabellen, Abfragen, Formulare und dazugehörige Berichte. Jetzt kam mein Chef auf mich zu und möchte, wie könnte es anders sein, eine bestimmte Zusammensetzung von einigen Daten aus unterschiedlichen Tabellen. Im Grunde sind es 3 Tabellen, aus denen ich verschiedene Felder benötige, die alle über eine ID verknüpft sind. Sprich, die ID ist normalerweise eindeutig zuweisbar und taucht in allen Tabellen auf, in einer der Tabellen, aber mehrfach. Wie ich nun die Daten in eine gemeinsame Tabelle bekomme, kriege ich hin. Wenn das mein Problem wäre, dann müsste ich mich nicht an euch wenden. Mein Problem ist, das es in Tabelle 1 die ID mehrfach gibt, da es aber in jedem Datensatz mit dieser ID einen Bearbeiter gibt und mein Chef hinterher alle Bearbeiter sehen will, muss ich also die Datensätze anhand der ID gruppieren und irgendwie die Bearbeiter als String zusammensetzen. Unter Oracle SQL gibt es für sowas eine Funktion, die "wm_concat" heißt. Die würde mir auch meine Ergebnisse liefern, aber unter Access klappt diese Funktion nicht im SQL Statement der Abfrage. Kennt jemand einen Weg, wie ich ein Feld von mehreren Datensätzen in einem String zusammenfassen kann? Ich habe alle 3 Tabellen in einer zusammengefasst, so das ich jeden Datensatz aus Tabelle 1(hier ist die ID mehrfach vorhanden) nehme und diesen Datensätzen die entsprechenden Werte aus den anderen beiden Tabellen zuweise.
  5. Du hast da ganz Recht. Bis zu eurem Beitrag hier, habe ich den Debugger noch nicht so wirklich genutzt. Habe jetzt aber gestern und vorgestern schon ein paar kleinere Fehler durch den Debugger ausmerzen können. @Panawr: Habe dafür dann auch Haltepunkte gesetzt Habe mir nen YT-Video über den Debugger angesehen und mich da bisschen schlau gemacht. Ich bin mir sicher, das ich den Debugger noch nicht in seiner vollen Kompetenz nutze, aber in kleinen Teilen, die ich fürs erste verstehe. Ich teste ja mein TextAdventure schon seit längerem über den Debug-Play Button oben. Arbeite jetzt an der Vereinfachung meines geschriebenen Codes. Habe da einige Abfragen unglücklich kompliziert und mit zu vielen Unterpunkten geschrieben, das ich mich jetzt erstmal darum kümmern werde.
  6. Krass, danke Klotzkopp!!! Ich habe jetzt echt 8 Stunden nach diesem Fehler gesucht, aber ich wäre nicht drauf gekommen, dass es das hätte sein können! Ich habe alle Variablen überprüft und da stand immer, das diese sich auf die Klasse bezieht, daher habe ich nicht gecheckt, warum es nicht geht. Vielen Dank nochmal! Ich nutze die Debugfunktion mit dem Play-Button oben und da lief er auf keinen Fehler. Er zeigte halt nur keinen Wert an, obwohl ich ja einen zugewiesen hatte Nun ja, nochmals vielen dank PS: Gibt es noch eine andere Debugfunktion?
  7. Hallo liebe Community, ich habe eine Frage zu meinem Programm, das ich mit WindowsFormsApplication erstellen muss. Ich habe ein Programm geschrieben, das letztendlich als TextAdventure funktionieren soll. Sprich: Man hat ein großes Fenster in dem sich 2 Textboxen befinden. Die eine Textbox als Eingabezeile und die Andere als Ausgabezeilen(letztere ist eine Multiline Textbox) Ich habe für das Programm mehrere Klassen geschrieben, die verschiedene Teile des Programms darfstellen. class Room <-- Definiert die einzelnen Bereiche, durch die ein Spieler sich bewegen kann, diese Räume haben bis zu 4 Ausgänge(für je eine Himmelsrichtung einen) class Person <-- Die Klasse ist erstmal uninteressant. class Spieler <-- Der Spieler, der mit seinen Methoden auf die Räume zugreift, bzw über den auf die Räume zugegriffen wird. Nun zu meinem Problem: Mein Problem hört sich recht simpel an und wahrscheinlich ist die Lösung eben so simpel, aber ich checke das irgendwie nicht. Ich definiere in der Klasse Room die Parameter vor, die man benötigt um einen Raum zu erstellen. public class Room { //Klassenattribute public string name; public int room_numberX; public int room_numberY; public string desc_short; public string describtion; public bool neighbor_north; public bool neighbor_east; public bool neighbor_south; public bool neighbor_west; public string weather; public string items; public Room n_north; public Room n_east; public Room n_south; public Room n_west; public Room badEnd; // //Initialisierung eines Standartobjektes der Klasse Raum // public Room(int positionX, int positionY, string name, string describtion, string weather) { name = "Der Raum scheint keinen Namen zu haben"; room_numberX = positionX; room_numberY = positionY; desc_short = "Auf den ersten Blick scheint dieser Raum keine passende Beschreibung zu haben"; describtion = "Es scheint so, als habe noch niemand diesen Raum ordentlich beschrieben"; neighbor_north = false; neighbor_east = false; neighbor_south = false; neighbor_west = false; weather = "Du entdeckst im gesamten Raum keine Fenster"; items = "Gar nichts...!"; } // Hier folgen die Methoden der Klasse Raum // ... // ... } Soweit so gut. Wenn ich nun neue Räume im Hauptprogramm erstelle, dann läuft das ganze auch auf keinen Fehler. public partial class Form1 : Form { Spieler Spieler1; Room EndofWorld = new Room(-1000, -1000, "No Name", "No Describtion", "no Weather"); //... //... //... Ich erstelle hier auch den Spieler und prüfe etwas später mit if (Spieler1 != null). Das funktioniert auch noch soweit, wie geplant. Aber: Wenn ich nun aus dem Hauptprogramm heraus auf Variablen eines Raums zugreifen will, dann sind die Variablen leer oder können nicht abgerufen werden. //Eine Methode von Form1 private void bt_start_Click(object sender, EventArgs e) { tb_main.AppendText(EndofWorld.name + " ...!!" + Environment.NewLine); } In der Textbox wird nun nur "...!!" ausgegeben. Kann mir da jemand weiterhelfen? Ich verstehe nicht, wieso die Variable EndofWorld.name leer ist. An der selben Stelle deklariere ich auch eine normale string Variable und gebe sie auf dem gleichen weg aus und da klappt alles.
  8. Letzteres suchte ich Danke für deine Antwort. "Nicht benutzen" damit meine ich, das eben dieser bekannte Windows-Sound kommt, wenn man mit dem Tastendruck nichts anfangen kann. Ich hatte das falsche Event verwendet, damit funktionierte es dann natürlich nicht so, wie ich es geplant hatte. Ich schaue mir jetzt mal das OnKeyDown Event an. Meine Testeingaben hatten auch schon im Vorhinein funktioniert. Zumindest vom Code her, stand nur an der falschen Stelle und ich hatte keine Schleife eingebaut, die auf eine Eingabe wartete, sodass die Eingabe zu schnell vorbei war und damit die Variable nicht belegt. Dein Tipp hilft mir leider nicht weiter, wenn ich mich mit WindowsFormsApplication berufsschulbedingt beschäftigen muss. Es ist meine Aufgabe ein WindowsFormsApplication TextAdventure zu erstellen. Auch wenn andere Wege sicher programmiertechnisch weiser sind, bin ich gezwungen diesen Weg zu nehmen.
  9. Vielen Dank für eure Tipps. Ich habe meine Probleme jetzt erstmal gelöst. Ich habe den Spieler in die Programmklasse verschoben, in dessen Methoden er und seine Methoden immer wieder aufgerufen werden. Ich arbeite grade an einer Texteingabe über eine Textbox, verstehe grade nicht, wieso ich die Enter Taste da nicht benutzen kann. Ich verwende vermutlich einfach die falsche Textbox oder sowas. Ich muss mich da nochmal einlesen.
  10. Ah, jetzt wo du es sagst. public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void tb_name_TextChanged(object sender, EventArgs e) { //Textfeld indem der Name des Raums angezeigt werden soll, indem sich der Spieler zur Zeit befindet. this.tb_name.Text = Spieler1.position(); } private void bt_start_Click(object sender, EventArgs e) { //Hier folgt die Charaktererstellung Spieler Spieler1 = new Spieler(); } }
  11. Ja, ich muss mich da noch reinarbeiten. Habe bereits ein paar blöde Fehler gefunden. Sag mal, kann ich eine Variable eines Objektes über einen Button abrufen und diesen alt Text in einer Textbox anzeigen lassen? Ich habe es so geschrieben. Weiß auch, das die Textbox darauf reagiert, wenn ich da nur Text ausgebe, also einen string. Jetzt will ich aber die Variable "name" des Objekts "Spieler1" ausgeben. Muss ich dafür eine Methode erstellen oder kann ich darauf einfach so zugreifen? private void bt_char_Click(object sender, EventArgs e) { //Mit dem Klick auf diesen Knopf soll später der Spieler seinen Namen ausgeben können. this.tb_main.Text = "Name: " + Spieler1.name; }
  12. Hallo liebe Community, ich arbeite seit kurzem berufsschulbedingt mit C#. Ich schreibe momentan an einem TextAdventure in einer WindowsFormsApplication. Ich bin leider nicht sehr tief in der Materie, habe eine Klasse(Raum) definiert und auch eine Klasse(Spieler) für einige Aktionen in Methoden, die ich durchführe/aufrufe muss ich allerdings bereits auf das Objekt(Spieler1) aus der Klasse(Spieler) zugreifen. Jetzt mein Problem: Solange ich an dem Programm schreibe sind die Objekte ja noch nicht erzeugt, ich kann aber Beispielsweise mein Programm nicht testen, da noch weiterhin Fehler existieren. Zu diesen Fehlern gehört auch die Meldung "Spieler1" existiert in diesem Kontext nicht. Logisch, weil das Objekt erst mit dem Klick auf den Startbutton erzeugt wird und daher nicht existiert, wenn das Programm nicht läuft. Mache ich da irgendwas falsch, wenn ich das Objekt in Methoden verwende? Kann ich anderweitig auf Eigenschaften des Objektes zugreifen? Und wie sieht das aus, wenn ich Methoden einer Klasse in einem WindowsForm-Objekts verwenden will. Also den return-Wert einer Methode in einem Textfeld angeben möchte? private void tb_name_TextChanged(object sender, EventArgs e) { //Textfeld indem der Name des Raums angezeigt werden soll. this.tb_name.Text = Spieler1.position(); // <--- Hierauf verweist der Fehler } Severity Code Description Error CS0103 The name 'Spieler1' does not exist in the current context Zweite Frage zu gleichem Programm: Ich erzeuge Gebiete, die der Spieler1 betreten kann und erstelle dafür eine Klasse(Room). Visual Studio meckert jetzt herum, wenn ich in anderen Methoden irgendwelche Variablen also Typ Room initialisiere. Muss ich das irgendwie anders machen? public class Spieler { //Klasseneigenschaften public string name; public int age; Room position; // <--- Hierauf verweist der Fehler //... //... } Severity Code Description Error CS0246 The type or namespace name 'Room' could not be found (are you missing a using directive or an assembly reference?)

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