AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Inhalt der pref.js Dateien ändern

Ein Thema von eleonora · begonnen am 24. Apr 2003 · letzter Beitrag vom 28. Apr 2003
Antwort Antwort
Seite 1 von 2  1 2      
eleonora

Registriert seit: 24. Jan 2003
80 Beiträge
 
#1

Inhalt der pref.js Dateien ändern

  Alt 24. Apr 2003, 07:29
Hallo!

Ich würde gerne einen bestimmten Eintrag in einer pref.js (bei Netscape) Datei, die ich mit einem Texteditor öffne, mit Delphi ändern!

Beispiel: Autocomplete von true auf false ändern!

Gibt es eine Möglichkeit oder einen Code, mit dem ich diese Einträge ändern kann?

Danke schon mal im voraus!

Gruss Eleonora
  Mit Zitat antworten Zitat
Benutzerbild von Stanlay Hanks
Stanlay Hanks

Registriert seit: 1. Mär 2003
2.078 Beiträge
 
Delphi 2005 Professional
 
#2
  Alt 24. Apr 2003, 08:18
Hallo. Da ich keine Ahnung habe, wie so eine Datei aufgebaut ist, würde ich sagen, du lädst die date, suchst mit pos() die Position des Eintrags
Autocomplete gehst von dieser Position 12 Zeichen (Die länge des Wortes autocomplete)weiter und ersetzt dann false durch true. So würd ich das machen aber: 1) Da ich es noch nie versucht habe, kann ich nicht
garantieren, dass es funzt.
2) Hat bestimmt irgendwer ne schönere Lösung anzubieten.

Man liest sich. Stanlay
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#3
  Alt 24. Apr 2003, 09:07
Hallo eleonora,

da es sich bei .js (JavaScript) Dateien um Textdateien handelt, kannst du sie wie andere Textdateien bearbeiten. Du kannst sie z.B. in ein Memo laden, dort bearbeiten (zeilenweise durchlaufen und z.B. mit Pos den zu änderenden String suchen und ersetzen) und wieder abspeichern.
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
eleonora

Registriert seit: 24. Jan 2003
80 Beiträge
 
#4
  Alt 24. Apr 2003, 12:55
@MrSpock

Kannst Du mir mal einen kleinen Tip zu Pos geben, denn ich habe damit noch gar nicht gearbeitet und das was ich im Formum finde bringt mich irgendwie nur noch mehr durcheinander! Aber ich werde es solange trotzdem weiter versuchen!

Danke!

eleonora
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#5
  Alt 24. Apr 2003, 13:03
Hallo eleonora,

wenn du die Textdatei in ein Memo geladen hast:

Delphi-Quellcode:
var
  posi : Integer;
...
for i:= 0 to memo.lines.count-1 do
begin
  { suchStr enthalte den zu suchenden String }
  posi := Pos(suchStr, memo.lines.Strings[i]);
  { posi zeigt nach dieser Anweisung auf das erste Vorkommen
    des suchStr in der durchsuchten Zeile, oder hat den Wert 0 }

  if posi > 0 then
  begin
    { in memo.lines.Strings[i] steht ab der Position posi der
      zu suchende String }

    { Wert des Strings ändern }
  end
end;
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
MathiasSimmack
(Gast)

n/a Beiträge
 
#6
  Alt 24. Apr 2003, 13:15
Ich hatte damals das selbe Problem. Die Version 0.9x des Mozilla besaß zwar schon den Popup-Blocker, hatte in den Einstellungen aber noch keine Option dafür. Ergebnis war mozillum: ein Mini-Tool, das den notwendigen Eintrag selbst in die "prefs.js" geschrieben hat.

Wenn´s dich interessiert, kannst du den Programmcode als Basis nutzen, @eleonora. Das Prinzip ist in deinem Fall ähnlich. Hab´s mal rausgesucht und angehangen.
Angehängte Dateien
Dateityp: zip mozillum.zip (3,9 KB, 7x aufgerufen)
  Mit Zitat antworten Zitat
eleonora

Registriert seit: 24. Jan 2003
80 Beiträge
 
#7
  Alt 24. Apr 2003, 14:16
Danke Euch beiden für Eure schnelle Hilfe!

Leider hab ich grad keine Zeit mir das alles genau anzuschauen! Drumm werdet ihr wahrscheinlich erst morgen eine Antwort von mir bekommen!

Sorry!

Gruss Eleonora
  Mit Zitat antworten Zitat
eleonora

Registriert seit: 24. Jan 2003
80 Beiträge
 
#8
  Alt 25. Apr 2003, 11:25
Hallo!

Ich habe mich jetzt erst mal mit dem Code von MrSpock auseinander gesetzt! Er funktioniert bei mir allerdings nicht! Vielleicht kann mir ja einer sagen warum?

Hier ist mal mein Code den ich eingefügt habe!

Code:
procedure Teraser_memo.Button1Click(Sender: TObject);
var
posi : integer;
i : integer;
s : string;
begin
     for i := 0 to Memo.Lines.count-1 do
     begin
     if OpenDailog.Execute
     then begin
          Memo.Lines.LoadFromFile(OpenDialog.FileName);
          posi := Pos('pref("browser.urlbar.autocomplete.enabled"),
          false','Memo.lines.strings[i]');
          ShowMessage(Memo.lines.strings[posi]);
     end;
end;
Wenn ich das Programm starte, dann lädt er mir die Datei zwar ins Memofeld. Nur hab ich das Problem, dass er mir die angegebene Position nicht ausgibt und anschliessend abstürzt.

@MatthiasSimmack: Für Deinen Code hatte ich noch keine Zeit um ihn mir genau anzuschauen. Allerdings bin ich in Mozilla auch noch nach was anderem auf der Suche und wollte Dich dazu mal was fragen! Darf ich Dir ne mail schicken, oder soll ich es hier rein posten? Allerdings hat es "nichts" mit Delphi zu tun!!!

Gruss Eleonora
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#9
  Alt 25. Apr 2003, 12:03
Hallo eleonora,

du hast ja auch das Öffnen der Datei mit in die Schleife gepackt. Count ist dann natürlich auch noch nicht korrekt.

Es muss so aussehen:

Delphi-Quellcode:
if OpenDailog.Execute then
begin
  Memo.Lines.LoadFromFile(OpenDialog.FileName);
  for i := 0 to Memo.Lines.count-1 do
  begin
     posi := Pos('pref("browser.urlbar.autocomplete.enabled"),
false
','Memo.lines.strings[i]');
     { show Message musss hier mit Index i und nicht mit posi aufgerufen werden"! }
     ShowMessage(Memo.lines.strings[i]);
  end;
end;
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
eleonora

Registriert seit: 24. Jan 2003
80 Beiträge
 
#10
  Alt 25. Apr 2003, 12:12
Hallo!

Die Schleife habe ich ausversehen falsch rüber kopiert.

Ich habe aber auch schon das posi durch das i ersetzt! Wenn ich das dann mache, dann geht er mir das ganze Memo Zeile für Zeile durch! Und wenn ich das richtig verstanden habe, dann soll er mir ja gleich diesen Eintrag raussuchen!?

Eleonora
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 05:11 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