AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Spalten aus Tabelle im WebBrowser löschen
Thema durchsuchen
Ansicht
Themen-Optionen

Spalten aus Tabelle im WebBrowser löschen

Ein Thema von huberlix · begonnen am 1. Okt 2006 · letzter Beitrag vom 2. Okt 2006
Antwort Antwort
Seite 2 von 2     12   
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#11

Re: Spalten aus Tabelle im WebBrowser löschen

  Alt 1. Okt 2006, 18:52
dann mußt du alles was mit dem manifest zu tun hast aus dem Projekt entfernen, da dies erst mit D7 eingeführt wurde.
Markus Kinzler
  Mit Zitat antworten Zitat
huberlix

Registriert seit: 10. Nov 2003
46 Beiträge
 
#12

Re: Spalten aus Tabelle im WebBrowser löschen

  Alt 1. Okt 2006, 18:52
OK, werds probiewren, muss jetzt aber zur Arbeit
  Mit Zitat antworten Zitat
huberlix

Registriert seit: 10. Nov 2003
46 Beiträge
 
#13

Re: Spalten aus Tabelle im WebBrowser löschen

  Alt 2. Okt 2006, 07:39
Habs jetzt mal durchgespielt. Aber ich glaub, dass ich nicht so ganz das was ich suche.
Wenn ich das richtig sehe, liest du aus dem HTML das benötigte raus, und füllst damit das Stringgrid.

Ich möchte aber das ganze wieder im Browser darstellen.
D.h. eigentlich will ich den HTML-Code verändern, und dann wieder im Browser anzeigen. Geht das irgendwie?

Ich will mal die Hintergründe ein bißchen darlegen:
Z.Z. lade ich den Code einer Seite, die ungefähr aussieht wie oben im Link zu sehen, mit GetHtml.

Dann gehe ich Zeichen für Zeichen durch. Da in der Tabelle ja immer wiederkehrende Tags zu finden sind an denen ich mich orientieren kann, wühle ich mich mit Pos() bis zu diesem Tag, suche dann z.B. das 5. <td>, dann kann ich den Wert auslesen.
Diese Werte speichere ich in einer Klasse.
Nun lade ich ein vorformatiertes ExcelBlatt in einen OleContainer und fülle dieses mit den Werten.
Funktioniert auch sehr gut, wenns auch umständlich ist.

Aber folgende Probleme tauchen auf:
1. Wenn der WebDesigner diese Tabelle meint, die Tabelle in irgendeiner Form verändern zu müssen, wenns auch nur ne Kleinigkeit ist (was jetzt schon gelegentlich vorkam), verzählt sich meine Zeichensuche und ich muss das Programm anpassen.

2. Demnächst sollen in der Tabelle auch Links erscheinen, mit denen wir irgendwelche Infos abrufen können. Diese lassen sich natürlich in Excel nicht abrufen.

Daher der Gedanke mit dem Browser. Dann kann die Tabelle aussehen wie sie will, ich zähle anhand der Spaltenüberschriften, welche Spalte nicht gebraucht wird und lösche sie dann.
Danach noch ein bißchen Zellen formatieren und fertig.

Also ganz lapidar gesagt: HTML laden, HTML Editieren, HTML im Browser darstellen.

Gruß Bernd
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#14

Re: Spalten aus Tabelle im WebBrowser löschen

  Alt 2. Okt 2006, 08:25
Guten Morgen Bernd,

Zitat von huberlix:
Aber ich glaub, dass ich nicht so ganz das was ich suche.
es ist eine Demo, die bestimmte Techniken vorführt - mehr nicht.

Zitat von huberlix:
Ich möchte aber das ganze wieder im Browser darstellen.
Dann kannst du den Code direkt mit dem Browser abrufen und beim Ereignis OnDocumentComplete() die Elemente entfernen, welche du nicht brauchst. Der Rest wird dann vom Browser (TWebBrowser) gerendert.

Nun zu deinen Hintergrund-Informationen:

Bei professioneller Vorgehensweise würde der Web-Designer sich auf die Bereitstellung der style sheets (CSS) beschränken und der Lieferant der Daten (content provider) würde diese als XML-Dokument oder über einen WebService bereitstellen (je nach Aktualitätsanforderung). Die beiden müssten sich dann noch einigen, ob HTML-Transformationen (XSL-T) benötigt werden und wer diese erstellt. Der aktuelle von dir geschilderte Weg ist suboptimal - um es vorsichtig zu umschreiben.

Was Excel bei dem ganzen Prozess zu suchen hat verstehe ich auch nicht. Wird eine Druckausgabe mit Absatzkontrolle benötigt, dann würde ich das aus Delphi heraus mit einem Report Generator (z.B. RAVE) erledigen. Wenn auf Schnick-Schnack verzichtet werden kann, dann reicht die Druckausgabe des Browsers - eventuell über ein print template gesteuert.

Die beiden von dir geschilderten Probleme (Anpassen des Parsers, aktive Links) sind bei dem von mir beschriebenen Vorgehen übrigens auch vom Tisch.

Grüße vom marabu
  Mit Zitat antworten Zitat
huberlix

Registriert seit: 10. Nov 2003
46 Beiträge
 
#15

Re: Spalten aus Tabelle im WebBrowser löschen

  Alt 2. Okt 2006, 09:11
Zitat von marabu:
es ist eine Demo, die bestimmte Techniken vorführt - mehr nicht.
Ist mir klar, ich wollte auch keinen fertigen Code. Der Weg ist das Ziel
Hab mir das ganze halt selbst beigebracht, und da sind sicher noch immense Lücken.

Zitat von marabu:
Dann kannst du den Code direkt mit dem Browser abrufen und beim Ereignis OnDocumentComplete() die Elemente entfernen, welche du nicht brauchst. Der Rest wird dann vom Browser (TWebBrowser) gerendert.
Ja und genau da liegt meine Frage. Kann ich in OnDocumentComplete() eine ganze Spalte entfernen nach dem Motto ...Col(5).delete, bzw formatieren cell(3,6).font......
Oder muss ich wieder den Quelltext nach einzelnen Tags durchsuchen und Tag für Tag löschen?

Dass das ganze sehr unprofessionell ist, ist mir auch klar. Wie gesagt, Lücken.. und es ist meine erste Browseranwendung.

Das Webdesign, bzw Bereitstellen der Daten, wird wohl schon auf eine der von dir beschriebenen Weise funktionieren, kenn mich da nicht aus. Ich weiß nur, dass die Daten alle aus einer (oder verschiedenen) Datenbanken kommen. Erstens komm ich da aber nicht dran, und zweitens weiß ich nicht wie es geht.
D.h. nicht, dass ich hier verbotenerweise Daten abrufe, wenn das jetzt so klingt. Ich käm sicher mit Hilfe meiner Vorgesetzten ran, die sind froh über meine Anwendung. Aber dann wird das ganze schon wieder zu aufwendig. Wir könnten mit dem Ausdruck der Original-Tabelle arbeiten, jedoch ist das ganze für unsere Zwecke viel zu überladen. Daher meine angepasste Tabelle.

Excel ist deshalb drin, weil ich das ganze zuerst mit Excel VBA gemacht habe. Und danach habe ich halt das vorgefertigte Excelblatt einfach in Delphi eingebunden und mit Daten gefüllt.
Das ganze muss halt in der Breite genau auf ne A3-Seite passen.
Ich denk, wenn ich die Tabelle im Format anpasse, reicht der Browser-Ausdruck vollkommen aus.

Mit dem Rave muss ich mir mal anschauen.

Gruß Bernd
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#16

Re: Spalten aus Tabelle im WebBrowser löschen

  Alt 2. Okt 2006, 09:14
Zitat:
.Col(5).delete, bzw formatieren cell(3,6).font......
Oder muss ich wieder den Quelltext nach einzelnen Tags durchsuchen und Tag für Tag löschen?
Einfacher wie Löschen, wäre wie schon erwähnt das Ausblenden durch die Manipulation des Style (Hinzufügen von visibility:hidden; )
Markus Kinzler
  Mit Zitat antworten Zitat
huberlix

Registriert seit: 10. Nov 2003
46 Beiträge
 
#17

Re: Spalten aus Tabelle im WebBrowser löschen

  Alt 2. Okt 2006, 14:48
Ach jetzt versteh ich erst was du meintest mit "ausblenden".

Hast du ein kleines Codeschnipsel, wie das verwendet wird?
Aber auch hier muss ich dann jedes 5. <td> in jedem <tr> ausblenden,um die 5. Spalte zu löschen, oder?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:28 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz