C# Einsteiger Tutorials

Hier geht´s um TV, Zubehör wie Soundanlagen, Sat- , Übertragungs- bzw. Kabeltechnik und um alles,
was irgendwie zum Thema Technik passt.
Benutzeravatar
paul79
Timeshiftender Moderator mit Chauvi-Anwandlungen

<div title=Selbstgemachter unverkniffener Affe>Timeshiftender Moderator mit Chauvi-Anwandlungen<div>
Beiträge: 11409
Registriert: Sa 10. Dez 2005, 11:46
Receivertyp: SRP-2410M & SRP-2100
Receiverfirmware: siehe Signatur
Wohnort: 78333 Hoppetenzell / Bodensee

C# Einsteiger Tutorials

#1

Beitrag von paul79 » Do 28. Sep 2006, 09:53

Hallo!

Da wir hier ja das Welt-Universal-Forum sind versuche ich nun auch mal mein Glück! :D

Ich bin gerade dabei mich in C# einzuarbeiten. Das geht auch soweit ganz gut vorwärts. Ich suiche jedoch noch einige Seiten in den weiten des Internet die für Einsteiger gut geeignet sind.

Das meiste was ich bisher gefunden habe waren entweder "nur" Foren oder sehr tiefgreifende Erklärungen.

Kennt jemand gute Seiten oder evtl. auch eBooks die zum Einstieg gut geeignet sind?

Besonders hänge ich gerade dabei Funktionen einer externen DLL zu nutzen. Besonders bei der Umwandlung der Datentypen. Das es irgendwie mit DLLImport und MarshallAs geht weiß ich inzwischen, aber das Thema wird überall nur angeschnitten und leider nicht genauer behandelt. :thinker: :thinker:

Wenn jemand weiß wo ich entsprechende Infos, egel ob allgemein oder zu meinem aktuellen, speziellen Problem finden kann wäre es Klasse!

Bevorzugt WWW Seiten in deutsch oder englisch. Dürfen aber auch gerne Bücher sein!

Gruß
Paul

PS: Bin ja mal gespannt was das Welt-Forum hier zu bieten hat! :D
SRP-2100 - FW: 23.03.2012 (Arbeitszimmer) - Buko-Lüfterkit
SRP-2410M - FW: 10.01.2013 - TF-BCPCE 1.08.55 (Wohnzimmer) - Buko-Lüfterkit - WD20EADS
Autostart: Automove V2.1 beta 2, FastSkip TMS 3.2, RebuildNAV 5.0, TMSRemote V3.2a, TMSTelnetd V0.3, TimerDiags 3.4e
Weitere TAPs: FirmwareTMS.dat 2012-09-27, HDD Info V2.4b, IQChannels 1.1, lost+found V1.0a, ResetCAM V1.8, RoboChannel 0.01.0.0-10, TAPtoDate V1.4b
PC: SetEditTMS 1.14, TF Firmware Server 1.1.0.0, Total Commander 8

Philips 42PFL7403D/10 - Harmony 700

Benutzeravatar
jk
BoardSprenger
BoardSprenger
Beiträge: 8844
Registriert: Do 8. Dez 2005, 19:00
Receivertyp: SRP-2100 (Küchengerät)
Receiverfirmware: uralt aber stabil
Wohnort: Jennersdorf/Österreich
Kontaktdaten:

AW: C# Einsteiger Tutorials

#2

Beitrag von jk » Do 28. Sep 2006, 10:57

also über c/c++ und assembler könnten wir uns unterhalten, aber C# hab ich selbst schon länger installiert und noch nicht mal ein "hallo welt" damit gebastelt... *schäm*



Benutzeravatar
Harvey
iTina-Promoter und Kuhinteressent
iTina-Promoter und Kuhinteressent
Beiträge: 3894
Registriert: So 11. Dez 2005, 22:34
Receivertyp: 0x1388 PVR
Receiverfirmware: 13.09.2005
Wohnort: Planet Erde, Milchstraße

AW: C# Einsteiger Tutorials

#3

Beitrag von Harvey » Do 28. Sep 2006, 11:03

http://www.codeguru.com ist zwar auch recht speziell, aber vielleicht findest Du unter http://www.codeguru.com/csharp/csharp/c ... php/c4239/ was Du suchst.

C# kenne auch ich nur dem Namen nach.
Gruss
Harvey

Benutzeravatar
paul79
Timeshiftender Moderator mit Chauvi-Anwandlungen

<div title=Selbstgemachter unverkniffener Affe>Timeshiftender Moderator mit Chauvi-Anwandlungen<div>
Beiträge: 11409
Registriert: Sa 10. Dez 2005, 11:46
Receivertyp: SRP-2410M & SRP-2100
Receiverfirmware: siehe Signatur
Wohnort: 78333 Hoppetenzell / Bodensee

AW: C# Einsteiger Tutorials

#4

Beitrag von paul79 » Do 28. Sep 2006, 11:23

Danke für die Antworten!

[quote=""jk""]also über c/c++ und assembler könnten wir uns unterhalten, aber C# hab ich selbst schon länger installiert und noch nicht mal ein "hallo welt" damit gebastelt... *schäm*[/quote]

Hm... Assembler. Erinnerungen werden wach. Programmierten wir in der Ausbildung. Hat viel Spaß gemacht, da wusste man noch wie die Bits durch die Register geschoben wurden! :D

[quote=""Harvey""]http://www.codeguru.com ist zwar auch recht speziell, aber vielleicht findest Du unter http://www.codeguru.com/csharp/csharp/c ... php/c4239/ was Du suchst.

C# kenne auch ich nur dem Namen nach.[/quote]

Danke für den Hinweis. Schau ich mir über's Wochenende mal an.

Euere Antworten zeigen mir schon das gleich was ich auch bei der Suche mit Google schon gedacht habe. Zu C++ findet man wesentlich mehr, sowohl für Anfänger, Fortgeschrittene als auch die meisten Dokus zu den benutzbaren DLLs beziehen sich auf C++.

In den meisten vergleichen der Sprachen liest man als Fazit jedoch das die Zukunft der Windows-Programmierung wohl bei C# liegen soll. Ich bin ständig hin und her gerissen. :crazy: :crazy:

Mal sehen evtl. installiere ich am WE doch auch mal die C++ Entwicklungsumgebung und schaue mal ob ich das mit der vorhandenen Doku nicht evtl. doch schneller hinbekomme!


Gruß
Paul
*Sich auf weitere Meldungen freuend*
SRP-2100 - FW: 23.03.2012 (Arbeitszimmer) - Buko-Lüfterkit
SRP-2410M - FW: 10.01.2013 - TF-BCPCE 1.08.55 (Wohnzimmer) - Buko-Lüfterkit - WD20EADS
Autostart: Automove V2.1 beta 2, FastSkip TMS 3.2, RebuildNAV 5.0, TMSRemote V3.2a, TMSTelnetd V0.3, TimerDiags 3.4e
Weitere TAPs: FirmwareTMS.dat 2012-09-27, HDD Info V2.4b, IQChannels 1.1, lost+found V1.0a, ResetCAM V1.8, RoboChannel 0.01.0.0-10, TAPtoDate V1.4b
PC: SetEditTMS 1.14, TF Firmware Server 1.1.0.0, Total Commander 8

Philips 42PFL7403D/10 - Harmony 700

Benutzeravatar
jk
BoardSprenger
BoardSprenger
Beiträge: 8844
Registriert: Do 8. Dez 2005, 19:00
Receivertyp: SRP-2100 (Küchengerät)
Receiverfirmware: uralt aber stabil
Wohnort: Jennersdorf/Österreich
Kontaktdaten:

AW: C# Einsteiger Tutorials

#5

Beitrag von jk » Do 28. Sep 2006, 11:30

das gute an asselbler ist, daß man der kiste sagt was sie zu tun hat, mit der ganzen objektorientieren programmierung und dem multitasking von heute ("neumodernes klumpert") kann man ja den scheduler ja nur mehr darum "bitten" etwas zu tun wenn er denn dafür zeit hat.

früher war's noch hart, entweder das ding tat was man wollte, oder er ist eben abgestürzt und hat die zusammenarbeit mit meinem code verweigert, warum auch immer :D



Benutzeravatar
schasskistn
Nicht-Guru (A)
Nicht-Guru (A)
Beiträge: 281
Registriert: Fr 9. Dez 2005, 11:23
Receivertyp: SRP2401CI+ als Hauptkiste
TF5500PVR, supporte noch einen 5000MP
Receiverfirmware: HD: 10.9.2013
SD: September 05
Wohnort: Austria, ADW - nähe Salzburg
Kontaktdaten:

AW: C# Einsteiger Tutorials

#6

Beitrag von schasskistn » Do 28. Sep 2006, 13:59

ich hänge für windows entwicklungssachen gerne auf:

http://www.codeproject.com

rum, hat ein ehemalige codeguru regular (und MFCGridCtrl schreiber) gegründet und ist mittlerweile eine riesen platform (mit sehr guter einteilung) geworden.

Immer wild unterwegs in RFID/NFC/Mobile Payment für Festivals, Stadien und Clubs. Es gibt kaum was besseres als Party für die Arbeit :D
http://www.enemyinside.com
>> thrash >> death >> metal >> austria >>


für das Wohnzimmer: SRP2401CI+, 1TB, SmartEPG, TMSRemote, RemoteSwitch, SmartDecrypter und natürlich TapToDate
5500 im Keller; 5000er als Ersatzteilspender

Benutzeravatar
Pippin
Benutzer
Benutzer
Beiträge: 93
Registriert: Di 13. Dez 2005, 09:35
Receivertyp: TF 5000 PVR A
Wohnort: Aachen
Kontaktdaten:

AW: C# Einsteiger Tutorials

#7

Beitrag von Pippin » Do 28. Sep 2006, 14:52

Hallo,

sitze gerade "nebenbei" im Visual Studio und mache ein wenig C# (und bekomme sogar noch Geld dafür :wink: ).
Wenn man C++ kann und auch schon mit MFC Erfahrungen, dann sollte die Einarbeitung nicht schwer fallen. Mein Fazit zu C# und .NET: Für alles was GUI ist, sehr zu empfehlen.

Noch ein paar Links
Teach yourself C# in 24 Hours
http://www.csharphelp.com/

Codeguru und Codeproject wurden ja schon genannt.
Gruß, Pippin

TF 5000 PVR A / 160GB, Alphacrypt, Harmony 885
FastSkip, Quicktimer, Improbox Premium, 3PG, Matrix Saver, Power Restore (+FW), Bookmark, NiceDisplay

Benutzeravatar
Woodman
Quelle des Wissens
Quelle des Wissens
Beiträge: 1280
Registriert: Fr 9. Dez 2005, 14:38
Receivertyp: TechniSat DIGIT ISIO STC+
Wohnort: OF-Bieber

AW: C# Einsteiger Tutorials

#8

Beitrag von Woodman » Do 28. Sep 2006, 14:52

[quote=""paul79""]...
Kennt jemand gute Seiten oder evtl. auch eBooks die zum Einstieg gut geeignet sind?

...[/quote]Hallo Paul,
ich getrau mich kaum zu fragen: Hast Du's schon mal mit google versucht?
U.a werden folgende Seiten gemeldet:
http://www.galileocomputing.de/openbook/csharp/
http://www.heise.de/ix/artikel/2001/12/122/
http://www.rrzn.uni-hannover.de/buch.html?titel=c_sharp
http://csharpcomputing.com/Tutorials/TOC.htm

usw.

Viel Spaß beim Sichten :p
Keep :D
Horst
TechniSat DIGIT ISIO STC+
TMS SRP-2410 (2 TB) ein SAT-Kabel (Durchschleifbetrieb)
TAPs: TapToDate, ShutDown, SmartEPGTMS, TMSCommander, TMSRemote, TMSTelnetd, TimeShiftSaver, Blackbar

TF5000PVRt

Benutzeravatar
jk
BoardSprenger
BoardSprenger
Beiträge: 8844
Registriert: Do 8. Dez 2005, 19:00
Receivertyp: SRP-2100 (Küchengerät)
Receiverfirmware: uralt aber stabil
Wohnort: Jennersdorf/Österreich
Kontaktdaten:

AW: C# Einsteiger Tutorials

#9

Beitrag von jk » Do 28. Sep 2006, 15:00

ich greif da noch immer zum borland c-builder, das ding bin ich recht gewohnt und für was schnelles in c mit herzeigbarem frontend find ich das teil klasse



Benutzeravatar
khdtrader
Topfazubi
Topfazubi
Beiträge: 48
Registriert: Do 20. Jul 2006, 12:06
Receivertyp: TF5000PVR Black Panther seit 07/06
Receiverfirmware: Oct 05 2005
Wohnort: Pforzheim

AW: C# Einsteiger Tutorials

#10

Beitrag von khdtrader » Fr 29. Sep 2006, 10:11

Ich laß dir mal was zukommen ... :p crock:
Gruß Karlheinz

TF5000PVR Black Panther , Samsung 320GB & 300GB, 07/2006,
FW:5.Oct/05, interner Lüfter
AutoStart: DisplayTAP, 3PG, Stirf, Rezap, TimerGuard, FastSkip
(Filer, HDD-Info, Blackbar)

Benutzeravatar
hagge
Jung-Guru
Jung-Guru
Beiträge: 1921
Registriert: Fr 9. Dez 2005, 15:43
Receivertyp: SRP-2401CI+, TF5000PVR
Wohnort: Stuttgart

AW: C# Einsteiger Tutorials

#11

Beitrag von hagge » Fr 29. Sep 2006, 15:17

[quote=""paul79""]Ich bin gerade dabei mich in C# einzuarbeiten. Das geht auch soweit ganz gut vorwärts. Ich suiche jedoch noch einige Seiten in den weiten des Internet die für Einsteiger gut geeignet sind.[/quote]
Hast Du es schon mal mit der Doku von Visual Studio selbst probiert?

Visual Studio .NET -> Visual Basic und Visual C# -> Referenz -> Visual C#-Sprache.

Dort findet man eigentlich alles was man braucht, inklusive Beispiele. Darunter gibt es dann noch die .NET-Framework-Referenz.
Besonders hänge ich gerade dabei Funktionen einer externen DLL zu nutzen. Besonders bei der Umwandlung der Datentypen. Das es irgendwie mit DLLImport und MarshallAs geht weiß ich inzwischen, aber das Thema wird überall nur angeschnitten und leider nicht genauer behandelt. :thinker: :thinker:
Ist ja auch nicht immer trivial, zumindest wenn man externe DLLs mit unmanaged Code meint. Wenn Du Strukturen übergeben musst, die Zeiger beinhalten, wird es besonders schwer bis nahezu unmöglich.

Ich habe hier ein Beispiel von Windows CE. Das C#-Programm benutzt direkt die Funktionen CreateFile(), CloseHandle(), ReadFile() und WriteFile() aus der coredll. Hier die Deklaration der Konstanten und DLL-Funktionen.

Code: Alles auswählen

        // CreateFileW()
        internal const UInt32 METHOD_BUFFERED = 0;
        internal const UInt32 METHOD_IN_DIRECT = 1;
        internal const UInt32 METHOD_OUT_DIRECT = 2;
        internal const UInt32 METHOD_NEITHER = 3;

        internal const UInt32 FILE_ANY_ACCESS = (0 << 14);
        internal const UInt32 FILE_READ_ACCESS = (1 << 14);    // file & pipe
        internal const UInt32 FILE_WRITE_ACCESS = (2 << 14);   // file & pipe

        internal const Int32 INVALID_HANDLE_VALUE = -1;
        internal const UInt32 OPEN_EXISTING = 3;

        [DllImport("coredll.dll", EntryPoint="CreateFileW",
                   SetLastError = true)]
        private static extern
        IntPtr CECreateFileW(String lpFileName, UInt32 dwDesiredAccess,
                             UInt32 dwShareMode,IntPtr lpSecurityAttributes,
                             UInt32 dwCreationDisposition,
                             UInt32 dwFlagsAndAttributes,
                             IntPtr hTemplateFile);

        // CloseHandle()
        [DllImport("coredll.dll", EntryPoint="CloseHandle",
                   SetLastError = true)]
        private static extern
        int CECloseHandle(IntPtr hObject);

        // ReadFile()
        [DllImport("coredll.dll", EntryPoint="ReadFile", SetLastError = true)]
        private static extern
        int CEReadFile(IntPtr hFile, byte[] lpBuffer,
                       Int32 nNumberOfBytesToRead,
                       out Int32 lpNumberOfBytesRead, IntPtr lpOverlapped);

        // WriteFile()
        [DllImport("coredll.dll", EntryPoint="WriteFile", SetLastError = true)]
        private static extern
        int CEWriteFile(IntPtr hFile, byte[] lpBuffer,
                        Int32 nNumberOfBytesToWrite,
                        out Int32 lpNumberOfBytesWritten, IntPtr lpOverlapped);
Aufrufen kann man das dann z.B. so:

Code: Alles auswählen

            hPort = CECreateFileW(FileName, (UInt32)access, 0, IntPtr.Zero,
                                  OPEN_EXISTING, 0, IntPtr.Zero);
            if (hPort == (IntPtr)INVALID_HANDLE_VALUE)
            {
                throw new Exception("Can't open file");
            }
Vielleicht hilft das schon ein bisschen weiter. Das Grundkonzept müsste klar sein.

Wegen der Typumwandlung beim Aufruf:
Arrays kann man direkt anstelle von Pointern übergeben, einfache Variablentypen (int, char, usw) auch. Strukturen sind wie gesagt schwierig. Pointer auch. Obwohl mein Beispiel ja schon ein paar Sachen zeigt.

Auf dem PC müsste es noch einfacher gehen, aber auf WinCE gibt es viele Marshalling-Funktionen nicht (oder erst ab Compact Framework 2.0 oder gar 3.0), da ist es richtig knifflig und muss manchmal über Bytefelder simuliert werden. Und wehe das soll dann auf einer Maschine mit anderem Byte-Ordering laufen, au weia...

Gruß,

Hagge

Benutzeravatar
Bonni
Guru in perpetuum
Guru in perpetuum
Beiträge: 8211
Registriert: Fr 9. Dez 2005, 18:37
Wohnort: Hamm (Westf.)
Receivertyp: SRP-2401 CI+ eco / VU+ Ultimo 4k
Receiverfirmware: TF-BPCE 1.03.00
Wohnort: Hamm (Westf.)

AW: C# Einsteiger Tutorials

#12

Beitrag von Bonni » Fr 29. Sep 2006, 16:18

Auch wenn ich's gerade nicht brauche, vielen Danke für die Links. Man weiß ja nie ...
Gruß Bonni


90cm-Schüssel + 2 Quattro LNB + TELEKA SAM 2294N Multiswitch 9:4 (seit 08/1998!)
VU+ Ultimo 4k (seit 05/2020) mit 2x DVB-S2X FBC Twin Tuner, 1x DVB-T2 Dual Tuner, SmartEPGvu+, PlutoTV, uvm.
SRP-2401 CI+ Eco (seit 10/2017) mit SmartEPG_TMS, TAPtoDate, WebControl, uvm. - läuft noch hier und da im "Kinderzimmer"
TF5000PVR (seit 09/2003) mit USB Accelerator, ImproBox, PowerRestore, iTiNa - im September 2024 voll funktionstüchtig vom Strom getrennt.
TF5000CI (seit 06/2005) - früher im Kinderzimmer, jetzt ausgemustert im Keller, bald Elektroschrott

Benutzeravatar
paul79
Timeshiftender Moderator mit Chauvi-Anwandlungen

<div title=Selbstgemachter unverkniffener Affe>Timeshiftender Moderator mit Chauvi-Anwandlungen<div>
Beiträge: 11409
Registriert: Sa 10. Dez 2005, 11:46
Receivertyp: SRP-2410M & SRP-2100
Receiverfirmware: siehe Signatur
Wohnort: 78333 Hoppetenzell / Bodensee

AW: C# Einsteiger Tutorials

#13

Beitrag von paul79 » Sa 30. Sep 2006, 10:28

Auch ich bedanke mich für die ganzen Links. Bin jetzt fleissig am lesen. Mal sehen was ich hinbekomme!

Gruß
Paul
SRP-2100 - FW: 23.03.2012 (Arbeitszimmer) - Buko-Lüfterkit
SRP-2410M - FW: 10.01.2013 - TF-BCPCE 1.08.55 (Wohnzimmer) - Buko-Lüfterkit - WD20EADS
Autostart: Automove V2.1 beta 2, FastSkip TMS 3.2, RebuildNAV 5.0, TMSRemote V3.2a, TMSTelnetd V0.3, TimerDiags 3.4e
Weitere TAPs: FirmwareTMS.dat 2012-09-27, HDD Info V2.4b, IQChannels 1.1, lost+found V1.0a, ResetCAM V1.8, RoboChannel 0.01.0.0-10, TAPtoDate V1.4b
PC: SetEditTMS 1.14, TF Firmware Server 1.1.0.0, Total Commander 8

Philips 42PFL7403D/10 - Harmony 700

Antworten

Zurück zu „Technikforum“