Autor |
Beitrag |
Sharpener
      
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
|
Verfasst: 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 
|
|
Ralf Jansen
      
Beiträge: 4708
Erhaltene Danke: 991
VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
|
Verfasst: Sa 31.08.13 15:21
|
|
Th69
      

Beiträge: 4799
Erhaltene Danke: 1059
Win10
C#, C++ (VS 2017/19/22)
|
Verfasst: Sa 31.08.13 15:54
So wie ich Sharpener 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 
      
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
|
Verfasst: Sa 31.08.13 16:03
Th69 hat folgendes geschrieben : | So wie ich Sharpener 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.
|
|
|