WebGadget zur Zeile x scrollen

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
stalky13
Beiträge: 28
Registriert: 11.12.2007 18:59
Wohnort: Jever

WebGadget zur Zeile x scrollen

Beitrag von stalky13 »

Servus :mrgreen:

ich würde ganz gerne in einem webgadget zu einer bestimmten Zeile scrollen so das diese am oberen Rand ist. wenn ich das über die scrollbar position (in Pixel) mache dann habe ich das problem das wenn man das Gadget verkleinert sich durch den zeilenumbruch die geamtlänge der seite verändert und dann stimmt die position ned mehr. :? gibt es eine einfache möglichkeit zu einer bestimmten stelle im text zu scrollen und auch die aktuelle text position auszulesen?

danke für eure hilfe :allright: mfg stalky13
Aus großer Kraft folgt große Verantwortung.
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Beitrag von Fluid Byte »

HTML hält sich an keinen Standard wie ein StringGadget oder vergleichbares. Du kannst alles von Text, über Bilder bis zu Multimedia Inhalten darstellen. Es ist also nicht möglich so zu scrollen das eine Textzeile innerhalb von gemischten Inhalten genau am oberen Rand erscheint. Es könnte vielleicht funktionieren wenn du ausschließlich Text darstellst der eine einheitliche Texthöhe besitzt (formatiert mittels CSS).
Windows 10 Pro, 64-Bit / Outtakes | Derek
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Beitrag von AND51 »

> Es ist also nicht möglich so zu scrollen das eine Textzeile innerhalb von gemischten Inhalten genau am oberen Rand erscheint
Doch, und zwar wenn HTML-Anker eingesetzt werden.
Schau doch mal im HTML-Quellcode, um deinen Text A-Tags mit Name-Attributen stehen; wenn ja hast du Glück.
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Benutzeravatar
stalky13
Beiträge: 28
Registriert: 11.12.2007 18:59
Wohnort: Jever

Beitrag von stalky13 »

hi :mrgreen:

sehrgut ... danke :allright: wenn ich mit <a name="Anker"></a> eine Anker setze dann kann ich ganzeinfach die position anspringen in dem ich #Anker hinter den URL hänge. die derzeitige position vom webgadget im HTML code zu ermitteln ist da allerdings etwas komplizierter. so spontan fällt mir da volgende lösung ein...

mit der maus einen belibigen text im Gadget markieren und dann nach dem text im html code suchen ... <a name="Anker"></a> drumherung und fertig :freak: ... oder hat noch jemand ne elegantere lösung? :)

mfg stalky
Aus großer Kraft folgt große Verantwortung.
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Beitrag von Fluid Byte »

... dann kann ich ganzeinfach die position anspringen in dem ich #Anker hinter den URL hänge
Was denn für eine URL? Können wir mal klären was genau du vorhast? Sowie das aussieht hat das rein gar nichts mit dem WebGadget zu tun sondern du kloppst ganz normal eine Website zusammen. Willst ausschließlich Text mit einer einheitlichen Zeilenhöhe darstellen oder kommt da noch was anderes?
Windows 10 Pro, 64-Bit / Outtakes | Derek
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Beitrag von AND51 »

Fluidi, mach endlich Platz für den HTML-Anker... :mrgreen:

OK, ernsthaft: stalky13, klär uns mal ein bisschen auf, schusterst du hier deine eigene Webseite zusammen und streamst es in das WebGadget() mit SetGadgetText() oder möchtest du eine fremde Webseite anzeigen lassen und dann zu einem bestimmten Punkt scrollen lassen?

Denn besonders wenn es eine fremde Webseite ist, die du erst runterlädst, kann es ja sein, dass um den Zieltext herum kein Anker steht; in diesem Fall müsstest du selbst einen drum herum setzen.
stalky13 hat geschrieben:sehrgut ... danke :allright:
Ich weiß... 8)
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Beitrag von Fluid Byte »

AND51 hat geschrieben:Fluidi, mach endlich Platz für den HTML-Anker... :mrgreen
Du weißt schon das Anker Schwachsinn sind wenn die Zeilen umbrochen werden oder?

Code: Alles auswählen

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>untitled</title>
</head>

<body>
<script type="text/javascript">
for (i=0; i<50; i++) {
	document.write("lorem ipsum dolor sit amet. ");
}
</script>
</body>
</html>
An diesem Beispiel sieht man das die Anzahl der Zeilen durch die Breite des Fensters bestimmt wird. Wie willst du jetzt mit einem Anker bspw. zur Zeile #3 springen?

Aber wie gesagt, ist alles Spekulation solange stalky sein Anliegen nicht präzisiert.
AND51 hat geschrieben:
stalky13 hat geschrieben:sehrgut ... danke :allright:
Ich weiß... 8)
Auch wenns vielleicht nicht ganz ernst gemeint war, piss mal nicht ganz so 'nen dicken Strahl ... :shock:
Windows 10 Pro, 64-Bit / Outtakes | Derek
Benutzeravatar
stalky13
Beiträge: 28
Registriert: 11.12.2007 18:59
Wohnort: Jever

Beitrag von stalky13 »

servus nochmal

den html kot der in meinem webgadget angezeigt wird ist auf der festplatte und ned im internet und besteht aus reinem text und simple bilder also kein javascript oder so und das mit den ankern klappt auch soweit. die werden von meinem programm in den html code eingestzt und zwar dort wo man den text im webgadget markiert. so das später die zuvor markierte stelle wieder angezeigt werden kann ...
Fluid Byte hat geschrieben:Was denn für eine URL?
na wenn ich eine html datei öffne (wo auch immer die sich befinedet im internetz oder auf der hdd) dann gebe ich den webgadget einen url zur html datei ... z.B. www.schlagmichtot.de oda c:\eins\zwei\drei\schwachsinn.html und da knall ich dann ganzeinfach #Ankername dahinter und losgeht :D
Aus großer Kraft folgt große Verantwortung.
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Beitrag von Fluid Byte »

stalky13 hat geschrieben:die werden von meinem programm in den html code eingestzt und zwar dort wo man den text im webgadget markiert. so das später die zuvor markierte stelle wieder angezeigt werden kann ...
Wie eingesetzt? Womit makiert? Du lädst eine HTML-Datei mit Bilder und Text dann "makierst du irgendwas" und dann ist da ein Anker? Häh?!

Poste mal bitte den entsprechenden Code sonst kann ich das absolut nicht nachvollziehen ... :freak:
Windows 10 Pro, 64-Bit / Outtakes | Derek
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3873
Registriert: 13.09.2004 17:48
Kontaktdaten:

Beitrag von bobobo »

Code: Alles auswählen

Enumeration
  #Window_0
  #Web_0
EndEnumeration
If OpenWindow(#Window_0, 216, 0, 600, 300, "ach! So ist das ..", #PB_Window_ScreenCentered| #PB_Window_SystemMenu)
  If CreateGadgetList(WindowID(#Window_0))
    WebGadget(#Web_0, 0, 0, 610, 300, "http://www.purebasic.fr/german/viewtopic.php?p=212064#212064",#PB_Web_Mozilla)
  EndIf
EndIf
Repeat
event= WaitWindowEvent()
Until Event = #PB_Event_CloseWindow
End
was is daran nich zu verstehen

als quelle kann auch eine lokal liegende htmlDatei liegen.
‮pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Antworten