Autor Beitrag
Sharpener
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 24

Win 95, Win 98, Win 2000, Win XP, Win Vista, Win 7, Win 8, Mac OS X 10.4, Mac OS X 10.7, Mac OS X 10.8
C# (VS 2012), SQL, PHP, HTML&CSS,Java
BeitragVerfasst: Sa 31.08.13 15:11 
Hey,
ich arbeite gerade an einem HTML Parser. Nach dem anfänglichen Schwierigkeiten mit dem Download (die dank der Hilfe hier gelöst werden konnten), bin ich jetzt mit dem eigentlich Parser und dem Speichersystem fertig. Im Gegensatz zu anderen HTML Parsern habe ich mich entschieden, die Informationen nicht in einem Binärbaum zu speichern sondern in einer (nested) List.
Jetzt bin ich an dem Punkt angekommen, wo ich die Informationen auch darstellen will und weiß eigentlich garnicht wie ich das machen soll. Da es HTML es könnte ich zwar einfach eine RichTextbox( zurzeit arbeite ich Testweise mit Forms) machen oder so, aber irgendwann soll ja CSS auchnoch dazukommen.
Hat da einer eine Idee, oder Material zu?
Ich habe schonmal recheriert und herausgefunden, dass ein Browser normalerweise in einem Feld die Informationen,also den Text (in Boxen), aufmalt. Weiteres konnte ich aber bisjetzt nicht finden.
Ich bin dankbar für jede Information :D
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4708
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Sa 31.08.13 15:21 
Nimm einen Browser?
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4799
Erhaltene Danke: 1059

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Sa 31.08.13 15:54 
So wie ich user profile iconSharpener verstehe, möchte er selber einen Browser schreiben ;-)

Ich denke, daß einfachste wäre es, selber alles zu zeichnen, s. z.B. Zeichnen in Windows-Forms-Programmen (Paint/OnPaint, PictureBox)
Hilfreich sind für dich dann die Methoden aus der Graphics(GDI+) oder der TextRenderer(GDI) - Klasse (DrawText, MeasureText, DrawString, MeasureString, ...).
Du mußt dann halt die Positionen der einzelnen Textteile selber berechnen und entsprechend den Text zeichnen (Font, Farbe, ...).

Einzig für Eingabefelder (Textbox oder ListBox etc.) sowie den Buttons würde ich die vorhandenen WinForms-Controls benutzen.

Bzgl. GDI oder GDI+ kommt es darauf an, was du alles genau zeichnen willst, s.a. Graphics Device Interface.
Aus Performancegründen würde ich zum hardware-beschleunigten GDI greifen (d.h. der Graphics-Klasse).
Sharpener Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 24

Win 95, Win 98, Win 2000, Win XP, Win Vista, Win 7, Win 8, Mac OS X 10.4, Mac OS X 10.7, Mac OS X 10.8
C# (VS 2012), SQL, PHP, HTML&CSS,Java
BeitragVerfasst: Sa 31.08.13 16:03 
user profile iconTh69 hat folgendes geschrieben Zum zitierten Posting springen:
So wie ich user profile iconSharpener verstehe, möchte er selber einen Browser schreiben ;-)

Ich denke, daß einfachste wäre es, selber alles zu zeichnen, s. z.B. Zeichnen in Windows-Forms-Programmen (Paint/OnPaint, PictureBox)
Hilfreich sind für dich dann die Methoden aus der Graphics(GDI+) oder der TextRenderer(GDI) - Klasse (DrawText, MeasureText, DrawString, MeasureString, ...).
Du mußt dann halt die Positionen der einzelnen Textteile selber berechnen und entsprechend den Text zeichnen (Font, Farbe, ...).

Einzig für Eingabefelder (Textbox oder ListBox etc.) sowie den Buttons würde ich die vorhandenen WinForms-Controls benutzen.

Bzgl. GDI oder GDI+ kommt es darauf an, was du alles genau zeichnen willst, s.a. Graphics Device Interface.
Aus Performancegründen würde ich zum hardware-beschleunigten GDI greifen (d.h. der Graphics-Klasse).

Danke, dass hilft mir schonmal sehr weiter. Ja, es soll ein eigener kleiner Browser werden :) ,dann müsste ich den HTML Inhalt ja auch nicht parsen, sondern würde ihn einfach in WebControl laden.
Werde mir mal die Zeichenklassen angucken ;) bin aber natürlich für weitere Tipps offen.