Jump to content

Chi Lu Jung

Gast
  • Gesamte Inhalte

    919
  • Benutzer seit

  • Letzter Besuch

Alle erstellten Inhalte von Chi Lu Jung

  1. Hallo, ich muß leider eine längere Auszeit nehmen. Habe neue Aufgaben vor mir, welche mich voll in Anspruch nehmen. Deshalb habe ich keine Zeit mehr für das Forum. Ich werde ab und zu mal vorbeischauen und euch beobachten. Aber bitte löst das Roulette-Problem nicht vor meiner Rückkehr, ich will nämlich live dabei sein Also allzeit viele Stücke und das Leben nicht vergessen Chin, der sich auf seine neuen Aufgaben freut PS: Wundert euch nicht, dass ich nun in der Gruppe "Gäste" geführt werde. Ich habe mich selber zurückgestuft. Ich will verhindern, dass sich während meiner Abwesenheit einer an meinem Account zu schaffen macht.
  2. Hallo dazlight, matthias und Ranger, leider kann ich im Moment den VB-Kurs nicht mehr weiterführen. Wie ich bereits im "Urlaubs-Thread" ausgeführt habe, nehmen mich meine neuen Aufgaben voll in Anspruch. Ich würde mich freuen, wenn ihr mit Ranger zusammen den Kurs weiterführen könntet. Ranger hat auf jeden Fall die fachliche Kompetenz, den Kurs fortzuführen. Viel Spaß weiterhin bis bald Chin
  3. Hallo Fritz, David, ich kann David bestätigen. Auch ich habe bei meinen Systemstests über mehrere Jahre mit Originalpermanenzen immer einen Wert um 1,35% bzw. 2,7% erreicht. Je länger man testet, desto näher kommt man diesem Ergebnis. Sicher ist es aber so, dass nach 6 bzw. 12 Monaten durchaus Werte herauskommen können, die gewaltig von den Endwerten (1,35 bzw. 2,7%) abweichen. Hier sind die Beobachtungen von Fritz vollkommen korrekt. Aber wie gesagt, dies gilt nur für die Langzeitauswertung von starren Systemen über mehrere Jahre. Was dies für die Umsatzrendite eines Casinos bedeutet, weiß ich nicht und kann ich nicht beurteilen.
  4. Hallo Dolphin1980, VB ist einer der Programmiersprachen, die ich beherrsche. Auf Grund von größeren Projekten in den letzten vier Jahren kann ich sagen, auch ganz gut. Aber leider fehlt mir die Zeit und die Motiviation an einem Roulette-Projekt mitzuarbeiten. Ich hoffe, du versteht das. Chin
  5. Hallo David, ich hoffe, nun habe ich es: TVS wenigste =WENN(ZÄHLENWENN(F22:K22;MIN(F22:K22))<=2;VERGLEICH(MIN(F22:K22);F22:K22;0);"N.E.") TVS zweitwengiste Nachstehende Formel gehört natürlich in eine Zeile =WENN(ODER(ZÄHLENWENN(F22:K22;MIN(F22:K22))>=3;UND(MIN(F22:K22)<>KKLEINSTE(F22:K22;2); ZÄHLENWENN(F22:K22;KKLEINSTE(F22:K22;2))>=2));"N.E.";WENN(ZÄHLENWENN(F22:K22;MIN(F22:K22))=2; VERGLEICH(MIN(F22:K22);INDIREKT(G27);0)+VERGLEICH(MIN(F22:K22);F22:K22;0); VERGLEICH(KKLEINSTE(F22:K22;2);F22:K22;0))) Bitte dirket eine Spalte RECHTS neben der Formel folgende Formel einfügen =ADRESSE(ZEILE(F22);SPALTE(F22)+VERGLEICH(MIN(F22:K22);F22:K22;0))&":"&ADRESSE(ZEILE(K22);SPALTE(K22)) Bitte beachte, die zweite Formel mit "=ADRESSE..." liefert einen Wert, welche in der ersten Formel "=Wenn(Oder....)" im Ausdruck "..INDIREKT(G27).." benötigt wird. Also dort die Zelle "G27" durch die Zelleadresse ersetzen, in der der Wert aus der zweiten Formel ermittelt wurde. Anbei noch eine Beispiel-Exceldatei Kleinster_Zweitkleinser.zip
  6. Hallo ratemal, erst einmal willkommen im Club. Bevor hier das große Raten ausbricht und die deinem Namen alle Ehre machst, möchte ich dich bitten, klar darzulegen was du meinst bzw. willst. In diesem Bereich werden Roulette-Strategien beschrieben. Wenn das deine Absicht ist, so bitte mach dies. Aber bitte nicht in der Form "Ich weiß etwas, was du nicht weißt". Ansonsten landet dieser Thread in der "Untersten Schublade". Vielen Dank für deine Mitarbeit und weiterhin viel Spaß Chin
  7. Hallo David,tut mir ja leid, dass du nicht gut drauf bist. Aber deswegen wäre mir trotzdem eine gute Beschreibung wichtig. Ansonsten sitzen mir noch morgen hier und rätseln, was genau du meinst. Um das zu vermeiden, hier die möglichen Fälle. Bitte gebe für diese Fälle das Ergebnis in der FormFall 1) 2, 5an. Diese bedeutet, für den ersten Fall ist die TVS 2 die wengisten erschiene und die TVS 5 die zweitwengiste.<table><tr style="vertical-align:top; text-align:center; "><td></td></tr><tr style="vertical-align:top;"><td><pre><table border=1 cellspacing=0 cellpadding=0 style="font-family:Arial,Arial; font-size:10pt; padding-left:2pt; padding-right:2pt; "> <style type = "text/css"> th {font-weight:normal} </style> <colgroup><col width=30 ><col width=83.19999792 ><col width=38.39999904 ><col width=33.59999916 ><col width=31.9999992 ><col width=37.59999906 ><col width=26.39999934 ><col width=26.39999934 ></colgroup><tr style="background-color:#cacaca; text-align:center;font-size:8pt; "><td> </td><td style=" border-width:3; border-style: ridge;border-color:#f0f0f0; ">A</td><td style=" border-width:3; border-style: ridge;border-color:#f0f0f0; ">B</td><td style=" border-width:3; border-style: ridge;border-color:#f0f0f0; ">C</td><td style=" border-width:3; border-style: ridge;border-color:#f0f0f0; ">D</td><td style=" border-width:3; border-style: ridge;border-color:#f0f0f0; ">E</td><td style=" border-width:3; border-style: ridge;border-color:#f0f0f0; ">F</td><td style=" border-width:3; border-style: ridge;border-color:#f0f0f0; ">G</td></tr><tr height=22 ><td style="border-width:3; border-style: ridge;border-color:#f0f0f0; background-color:#cacaca; text-align:center; " >1</td><td style="background-color:#ffcc99; font-weight:bold; "> </td><td style="background-color:#ffcc99; font-weight:bold; ">TVS</td><td style="background-color:#ffcc99; font-weight:bold; ">Erscheinen</td><td style="background-color:#ffcc99; font-weight:bold; "> </td><td style="background-color:#ffcc99; font-weight:bold; "> </td><td style="background-color:#ffcc99; font-weight:bold; "> </td><td style="background-color:#ffcc99; font-weight:bold; "> </td></tr><tr height=22 ><td style="border-width:3; border-style: ridge;border-color:#f0f0f0; background-color:#cacaca; text-align:center; " >2</td><td style="background-color:#ffcc99; font-weight:bold; ">Fall</td><td style="background-color:#ffcc99; text-align:right; font-weight:bold; ">1</td><td style="background-color:#ffcc99; text-align:right; font-weight:bold; ">2</td><td style="background-color:#ffcc99; text-align:right; font-weight:bold; ">3</td><td style="background-color:#ffcc99; text-align:right; font-weight:bold; ">4</td><td style="background-color:#ffcc99; text-align:right; font-weight:bold; ">5</td><td style="background-color:#ffcc99; text-align:right; font-weight:bold; ">6</td></tr><tr height=22 ><td style="border-width:3; border-style: ridge;border-color:#f0f0f0; background-color:#cacaca; text-align:center; " >3</td><td style="background-color:#ffcc99; text-align:right; ">1</td><td style="text-align:right; ">3</td><td style="text-align:right; ">0</td><td style="text-align:right; ">4</td><td style="text-align:right; ">0</td><td style="text-align:right; ">1</td><td style="text-align:right; ">1</td></tr><tr height=22 ><td style="border-width:3; border-style: ridge;border-color:#f0f0f0; background-color:#cacaca; text-align:center; " >4</td><td style="background-color:#ffcc99; text-align:right; ">2</td><td style="text-align:right; ">3</td><td style="text-align:right; ">2</td><td style="text-align:right; ">2</td><td style="text-align:right; ">2</td><td style="text-align:right; ">1</td><td style="text-align:right; ">1</td></tr><tr height=22 ><td style="border-width:3; border-style: ridge;border-color:#f0f0f0; background-color:#cacaca; text-align:center; " >5</td><td style="background-color:#ffcc99; text-align:right; ">3</td><td style="text-align:right; ">4</td><td style="text-align:right; ">2</td><td style="text-align:right; ">4</td><td style="text-align:right; ">1</td><td style="text-align:right; ">1</td><td style="text-align:right; ">1</td></tr><tr height=22 ><td style="border-width:3; border-style: ridge;border-color:#f0f0f0; background-color:#cacaca; text-align:center; " >6</td><td style="background-color:#ffcc99; text-align:right; ">4</td><td style="text-align:right; ">5</td><td style="text-align:right; ">4</td><td style="text-align:right; ">1</td><td style="text-align:right; ">3</td><td style="text-align:right; ">2</td><td style="text-align:right; ">2</td></tr></table></pre></td></tr></table>
  8. Hallo David, leider hast du nicht geschrieben, ob du den eindeutigen Kleinsten suchst. Meine Formeln finden den ERSTEN kleinsten bzw. zweitkleinsten Wert. Auch was bei Nulleintrag in einer oder mehrere TVS ist, hast du nicht geschrieben. Deshalb wird eine TVS mit Nulleintrag als kleinstes Element gefunden. Die Formel für das TVS mit dem wengisten Erscheinen: =VERGLEICH(MIN(F22:K22);F22:K22;0) Und für das TVS mit dem zweitwengisten Erscheinen: =VERGLEICH(KKLEINSTE(F22:K22;ZÄHLENWENN(F22:K22;MIN(F22:K22))+1);F22:K22;0)
  9. Hallo Blue, bitte aus rechtlichen Gründen keine klickbaren Links einstellen. Einfach die Webadresse ohne "http://" bzw. die Ebay-Artikelnummer genügt. Danke
  10. Hallo wenke, es können ca. 40.000 (1.000 Kilobytes) Zeichen pro Posting eingestellt werden. Links unter den "klickbaren Smilies"-Kasten hast du eine Funktion "Überprüfe die Länge Deiner Nachricht". Über diese kannst du feststellen, wie lang dein Posting ist.
  11. Hallo Rabert, ich verstehe deine Schlussfolgerungen nicht. Was ist mit den Zahlen, die 272, 273 ... mal ausbleiben? Diese würden ja auch einen Verlust bewirken. Warum hast du diesen Verlust einfach unterschlagen?
  12. Hallo Rabert, das ist völlig korrekt. Die Makros von Excel werden mit Visual Basic for Applications (VBA) erstellt. Dieses Basic fusst auf Visual Basic und hat somit den selben Grundwortschatz. Auch OpenOffice verwendet diesen Grundwortschatz. Da aber solche Makros wie das angesprochene Tabellen-HTML-Programm mit dem Objektmodell von Excel arbeitet, ist es nicht mehr kompatibel zu OpenOffice. Unter dem Objektmodell versteht man den internen Aufbau zum Zugriff und Steuern der Office-Anwendung (hier Excel). Um z.B. auf den Inhalt der Zelle "A1" des aktiven Tabellensheets zugreifen zu können, kommt folgender Code zum Einsatz: Dim val As Variant val = ActiveSheet.Range("A1").Value Dieser Code würde unter OpenOffice nicht laufen.
  13. Hallo, Diskussion über Sachse wurde in den entsprechenden Thread ( Frage an Sachse) verschoben. Wir wollen Neufelius nicht weiter stören
  14. Meine unten stehende Antwort bezieht sich auf diesen Beitrag von Werner-Linz: Hallo Werner, offensichtliche Beleidigungen bzw. sonstige Entgleisungen werden umgehend entfernt. Ich stimme mit dir überein, dass der Sachverhalt an sich (Schläge androhen) nicht veröffentlicht werden sollte. Aber wer sachse kennt, weiß diese Aussage einzuordnen. Und nein, sachse bekommt hier keine Sonderbehandlung. Aber wenn du das gerne annehmen willst, kann ich das auch nicht ändern. Chin
  15. Hallo ideenmichel, kannst du mir bitte erklären, was diese Angriffe nun sollen. Wer nutzt hier das Forum als Geldquelle. Bitte nenne Namen oder lasse diese Unterstellungen. Damit beleidigst du nicht nur die hunderte von Usern, welche hier kostenlos ihre Ideen einstellen und diskutieren, sondern auch die Mods/Admins, welche Teile ihrer Freizeit mit der Verwaltungs des Forums verbringen - und dies ohne Bezahlung!!!! Ausserdem noch einmal und immer wieder der Hinweis, dass es sich hier um ein öffentliches Forum handelt. Hattest du das vor deiner Anmeldung nicht gewußt bzw. ist es dir erst jetzt aufgefallen, dass hier neben dir noch andere User und Gäste Zugriff haben? Was soll das? Meinst du, dass ist der richtige Weg. Was willst du damit erreichen? Das wir deine Wünsche kritiklos umsetzen? Dürfen wir keine eigene Meinung hierzu haben? Sorry, aber dies hat keiner behauptet. Aber wenn du dieser Meinung bist, tut es mir persönlich leid. Chin
  16. Hallo ideenmichel, ich denke, keiner hat etwas dagegen, wenn du dich mit dir vertrauenswürdig erscheinenden Usern per EMail austauscht. Was ihr dann in kleiner Diskussionsrunde austüftelt hat wirklich nur euch zu interessieren. Bedenke aber bitte, solange du dich hier im Forum bewegst nimmst du eine Dienstleistung in Anspruch. Diese beruht auf Geben und Nehmen. D.h. du bzw. jeder aktive User trägt mit seinen Diskussionsbeiträgen bzw. Ideen zum Erfolg des Forums bei. Die Nur-Leser bzw. Gäste tragen mit ihrem Besuch und evtl. Mundpropaganda für das Forum ebenfalls zum Gelingen des Forums bei. Auf der anderen Seite stellt dir dafür Paroli kostenlos den Webspace und die Forumssoftware zur Verfügung. Des weiteren zusammen mit den Moderatoren eine ungezählte Anzahl an Arbeitsstunden. So denke ich, dass alle "Seiten" etwas von diesem Forum haben. Dies ist ja auch Sinn und Zweck eines öffentlichen Forums. Wenn du nun aus Sicherheitsgründen deine Ideen verschlüsselt einstellen willst, mißbrauchst du in meinen Augen das Forum als kostenlosen Webspace. Und ich denke, dass kann nicht im Sinne der Forumsgemeinde sein. Da du ja sowieso per EMail Kontakt mit den vertrauenswürdigen Usern aufnehmen mußt, würde ich vorschlagen du sendest deine verschlüsselten Dokumente ebenfalls per EMail an die beteiligten User. Ich hoffe, du kannst meiner Argumentation folgen und bist trotzdem bereit, weiterhin aktiv im Forum mitzuarbeiten. Danke Chin
  17. 1. Lektion - Permanenzdatei einlesen 3. Aufgabe - Fehlerbehandlung Mit dem Öffnen einer Datei kann auch ein Fehler auftreten. Wenn die Datei nicht vorhanden ist bzw. der Dateiname falsch geschrieben wurde, dann wird ein Fehler erzeugt. Visual Basic bietet die Möglichkeit, eine Fehlerbehandlungsroutine einzurichten, welche den Fehler "auffängt" und einen vorher definierten Code ausführt. Aufgabe Für das Öffnen der Datei soll nun eine Fehlerbehandlungsroutine geschrieben werden. Diese soll lediglich den Fehler abfangen und dann über die Funkton "MsgBox" einen kurzen Hinweis an den Anwender ausgeben. Danach ist die Prozedur zu verlassen, da ja beim fehlerhaften Öffnen der Permanenzdatei keine weitere Aktionen mit dieser Datei mehr möglich sind. Stichwörter (Unter diesen Stichwörtern kann in der Online-Hilfe gesucht werden) On Error Err Objekt Err.Number Exit Sub MsgBox If Then Hinweise Im Sinne einer modernen Programmierung ist der Einsatz von "GoTo" zu vermeiden. "On Error" bietet zwei Möglichkeit - einmal mit "GoTo" und einmal ohne. Es ist die Version ohne "GoTo" zu verwenden. Zum Testen der Prozedur wird im Modul eine Testprozedur angelegt. Diese sieht folgendermaßen aus Sub Main() 'Aufruf der Prozedur PermEinlesen 'Als Argument wird der Dateinname der Permanenz übergeben Call PermEinlesen("c:\Eigene Dateien\Hamburg.txt") End Sub Diese Testprozedur kann in Excel als Makro aufgerufen werden. Im Visual Basic Editor über das Menü "Ausführen -> Sub/UserForm ausführen" die Prozedur aufrufen. In der Visual Basic Entwicklungsumgebung den Menüpunkt "Ausführen -> Start" anwählen. Es wird dann die Prozedur mit den Namen "Main()" aufgerufen. Wenn nun die Permanenzdatei nicht unter dem angegeben Pfad steht, erscheint ohne Fehlerbehandlungsroutine eine Fehlermeldung von Visual Basic und die Ausführung wird an der betreffenden Stelle gestoppt. Diese Verhaltensweise wird durch eine Fehlerbehandlungsroutine nach den Vorstellungen des Entwicklers verändert. Code Als Grundlage für den Kurs wird der bisherige Code in der Excel-Datei "VB Kurs.xls" fortgeschrieben. Für die Anwender der VB-Entwicklungsumgebung steht in der Zip-Datei das Modul "Modul1.bas" zur Verfügung. Dieses kann in die VB-Entwicklungsumgebung importiert werden. VB_Kurs.zip
  18. 1. Lektion - Permanenzdatei einlesen 2. Aufgabe - Datei öffnen/schliessen Als nächstes ist das Dateihandling zu programmieren. Es muß die Datei "hamburg.txt" geöffnet, gelesen und geschlossen werden. Aufgabe Zunächst wird der Code für das Öffnen und Schliessen der Datei erstellt. Im Argument "Dateiname" wird der vollständige Dateinamen inkl. Pfad an die Funktion übergeben. Diese Datei muß nun geöffnet werden und am Schluß der Verarbeitung auch wieder geschlossen werden. Daraus ergibt sich als Aufgabe, die Datei "Dateiname" zu öffnen und wieder zu schliessen. Die dazwischenliegende Verarbeitung ist noch nicht Bestandteil dieser Aufgabe. Stichwörter (Unter diesen Stichwörtern kann in der Online-Hilfe gesucht werden) Open Close FreeFile Integer Hinweise Wichtig beim Öffnen der Datei ist darauf zu achten, dass die sog. Dateinummer richtig behandelt wird (Stichwort FreeFile). Es sollte auch die Art der Verarbeitung für die Datei berücksichtigt werden. Die Frage hierfür lautet: Für welchen Zweck wird die Datei geöffnet? Lösungsvorschlag 'Variablendefinitionen erzwingen Option Explicit Sub PermEinlesen(Dateiname As String) 'Permanenzzahlen einlesen und in Liste speichern 'Variablen definieren Dim Dateinummer As Integer 'Freie Dateinummer ermitteln Dateinummer = FreeFile() 'Datei öffnen Open Dateiname For Input As Dateinummer 'Code zum Einlesen der Daten 'Datei wieder schliessen Close Dateinummer End Sub Zum Öffnen der Datei "Dateiname" werden folgende Element benötigt: den Dateinamen, der als Argument in der Variable Dateiname übergeben wurde die Dateinummer, die durch die Funktion FreeFile() ermittelt wird und die in einer Variable gespeichert wird eine Angabe zum Modus, in dem die Datei zu öffnen ist. Da eine bestehende Datei nur gelesen werden soll, lautet das Schlüsselwort for input. Damit wird die Datei lediglich zum Lesen "for input" geöffnet. Als erstes wird die Dateinummer ermittelt. Zunächst wird hierzu eine Variable definiert (angelegt). In Visual Basic müssen Variablen nicht zwangsläufig vor der Benutzung definiert werden, es gehört aber zu einem guten Programmierstil und hilft oft, Fehler im Programm zu vermeiden. Ausserdem kennt der Editor so die gewünschte Schreibweise des Variablennamen und korrigiert später bei Bedarf automatisch die Groß-/Kleinschreibung. Damit die Definition von Variablen vom Compiler übeprüft werden kann und bei einer fehlenden Variablendefinition ein Fehler erzeugt wird, empfiehlt es sich den Ausdruck "Option Explicit" zu verwenden. Dieser wird am Anfang eines Moduls eingefügt und bewirkt, dass der Compiler jede verwendete Variable auf eine gültige Defintion prüft. Fehlt diese, wird ein Fehler ausgegeben. Die Definition einer Variable beginnt immer mit dem Schlüsselwort Dim, gefolgt vom Namen der Variable. Danach kommt das Schlüsselwort As und anschliessend der Datentyp. Da eine Variable vom Typ Integer benötigt wird, sieht die Anweisung folgendermassen aus: Dim Dateinummer As Integer Somit ist die Variable definiert, sie hat aber noch keinen Wert. Dieser wird mit Hilfe der Funktion FreeFile() ermittelt: Dateinummer = FreeFile() Somit liegen alle Komponenten zum Öffnen der Datei vor: Open Dateiname For Input As Dateinummer Es folgt der noch zu erstellende Code zum Einlesen der Daten und anschliessend wird die Datei geschlossen. Close Dateinummer Nach dem Öffnen der Datei wird diese nur noch über die Dateinummer angesprochen. VB kennt diese Datei nur noch unter dieser Nummer. Alle Funktionen zur Dateiverarbeitung arbeiten deshalb nur mit der Dateinummer. Code Als Grundlage für den Kurs wird der bisherige Code in der Excel-Datei "VB Kurs.xls" fortgeschrieben. Für die Anwender der VB-Entwicklungsumgebung steht in der Zip-Datei das Modul "Modul1.bas" zur Verfügung. Dieses kann in die VB-Entwicklungsumgebung importiert werden. VB_Kurs_1_2.zip
  19. Lösung für Aufgabe 1.2 "Datei öffnen/schliessen" Hallo Kursteilnehmer, ich habe im gepinnten Thread "Grundkurs Programmierung Visual Basic" die bisherigen Aufgaben und Lösungen zu fortlaufenden Kursunterlagen zusammengefasst. Dort kann auch der aktuelle Code heruntergeladen werden. Bitte in Zukunft immer dort die Lösungen nachlesen und den aktuellen Code herunterladen. Danke
  20. 1. Lektion - Permanenzdatei einlesen 1. Aufgabe - Funktionskopf Die erste Aufgabe wird die Entwicklung einer Funktion zum Einlesen einer Hamburger Permanenz-Datei sein. Als Grundlage kann die Hamburger Permanenz-Datei, Tisch 1 vom 13.09.2004 mit dem Dateinamen "Hamburg.txt" heruntergeladen werden. Aufgabe Als erstes muß jetzt eine Prozedur oder Funktion angelegt werden. Damit die Funktion auf unterschiedliche Permanenzen anwenden können, wird als Argument der Dateinamen übergeben. Die Aufgabe ist nun zu entscheiden, ob eine Prozedur oder eine Funktion benötigt wird und den Datentyp für das Argument. Der entsprechende Code für diese Prozedur/Funktion mit dem Argument für den Dateinamen ist zu erstellen. Als Namen für die Prozedur/Funktion wird "EinlesenPerm" und als Namen für das Argument "Dateiname" verwendet. Stichwörter (Unter diesen Stichwörtern kann in der Online-Hilfe gesucht werden) Function Sub Argumente Datentypen Hinweise Die VBA-Hilfe ist in Excel über den Visual Basic Editor erreichbar. Dieser ist über das Menü "Extras -> Makro -> Visual Basic Editor" erreichbar. Im Editor Fenster dann über das Hilfemenü "?". Zum Schreiben des Codes wird in Editor ein Modul angelegt. Dazu einfach in Excel eine neue Datei anlegen und dann den VB Editor aufrufen. Im Editor dann über das Menü "Einfügen -> Modul" ein sog. Modul anlegen. Im nun geöffneten Modul-Fenster kann der Code erfasst werden. Zur Speicherung entweder im Editor oder im eigentlichen Excel-Fenster die Excel-Datei speichern. Das Modul wird automatisch mit der Excel-Datei gespeichert und kann somit in Zukunft über diese Datei aufgerufen und bearbeitet werden. Es empfiehlt sich also diese Excel-Datei für den Kurs zu verwenden. Lösungsvorschlag Sub PermEinlesen(Dateiname As String) 'Permanenzzahlen einlesen und in Liste speichern End Sub Es wird eine Prozedur (Sub) für diese Aufgabe angelegt. Der Unterschied zwischen einer Function und einer Prozedur ist ganz einfach: Die Function kann einen Wert zurückgeben, die Prozedur nicht! Für den ersten Schritt genügt eine Prozedur. Die einzelnen Permanenzzahlen werden im weiteren Verlauf des Kurses in eine Liste bzw. alternativ in eine Excel-Tabelle eingelesen. Das Argument "Dateiname" ist vom Datentyp "String". Übergeben wird ein Dateinname in der Form "C:\eigene Dateien\Hamburg.txt". Somit wird ein Text verarbeitet. Dieser wird im Visual Basic als Datentyp "String" behandelt. Wichtig ist, dass der eigentliche Text immer in Anführungszeichen steht. VB behandelt dann die Zeichen zwischen den beiden Anführungszeichen als Text und interpretiert diesen nicht weiter. Ein Argument wird in der Form "<Argumentname> As <Datentyp> in runden Klammern nach dem Funktionsname definiert. In diesem Fall also (Dateiname As String) Mit "End Sub" wird die Prozedur abgeschlossen. Somit gehört alles, was zwischen "Sub ..." und "End Sub" steht, zum Funktionskörper. Dieser beinhaltet also beliebige Anweisungen zur Durchführung einer Aufgabe. Code Als Grundlage für den Kurs wird der bisherige Code in der Excel-Datei "VB Kurs.xls" fortgeschrieben. Für die Anwender der VB-Entwicklungsumgebung steht in der Zip-Datei das Modul "Modul1.bas" zur Verfügung. Dieses kann in die VB-Entwicklungsumgebung importiert werden. VB_Kurs_1_1.zip
  21. . . . . . . . . . . . . .I n h a l t s v e r z e i c h n i s 1. Lektion - Permanenzdatei einlesen ......... 1. Aufgabe - Funktionskopf ......... 2. Aufgabe - Datei öffnen/schliessen
  22. Hallo Ranger, danke für dein Verständnis. Bedenke bitte, dass es sich hier nicht um professionelle Softwareentwickler handelt. In einem Einsteigerkurs muß man Step by Step vorgehen. Zuviel Informationen am Anfang verwirren nur. Man hat dies am Anfang gesehen, als es um die Erstellung der Prozedurdefinition ging. Da hat manch einer sich schon Gedanken ums Einlesen gemacht. Deshalb ist es besser, immer eine kleine, abgegrenzte Aufgabe zu stellen. Die Summe aller Aufgaben ergibt am Schluss ein Gesamtbild und die Teilnehmer lernen so über einzelne Befehle den Gesamtzusammenhang. Es ist nicht mein erster Kurs, den ich durchführe. Ich möchte dich bitten, bei konkreten Fragen der Teilnehmer auch NUR diese Fragen gezielt zu beantworten. Manchmal ist hier weniger mehr. Also nicht zu viel Informationen, sondern mehr Hinweise. Die Teilnehmer sollen sich einen Teil auch selber erarbeiten. Danke Matthias war in den letzten Tagen nicht mehr im Forum. Er hat anscheinend im Moment keine Zeit. Deshalb würde ich vorschlagen, wir fahren fort. Ich stelle im Laufe des Tages die nächste Aufgabe ein.
  23. Hallo Ranger, danke für dein Engagement. Aber ich hatte mir eine gewisse Form des Kurses vorgestellt. Wie du an den beiden vorangegangen Aufgabenstellung siehst, wollte ich eine klare Struktur einhalten. Deshalb stehen nun zwei Alternativen zur Auswahl: 1) Du führst den Kurs nach deinen Vorstellungen weiter. 2) Ich führe den Kurs nach meinen Vorstellungen weiter. Ich denke, ansonsten gibt es zu sehr Verwirrung um den Inhalt und die Aufgabenstellung. Ich möchte also dich, dazlight, matthias und evtl. vorhandene "stille" Teilnehmer bitten, ihre Vorstellungen zu posten. Wir müssen auf jeden Fall eine klare Struktur reinbringen, ansonsten endet das hier im Chaos. Danke
  24. Hallo anfaenger, dies ist eine sehr gute Frage. Jede EMail, welche über die EMail-Funktion des Forums gesendet wird, wird durch die Forums-Software mit dem Forumsnamen des Senders gekennzeichnet. Somit kannst du also sicher sein, dass der Sender der angegebene User aus dem Forum ist.
  25. Hallo anfaenger, am besten in solch einem Falle deine eigene EMail freigeben und an entsprechender Stelle den betroffenen User in einem Posting auffordern, dir eine EMail zu schreiben. Es könnte ja auch sein, dass der User gar keinen Kontakt will.
×
×
  • Neu erstellen...