Mal ne andere Frage: Untersuchst du die Strings ausserhalb des Editors oder im Editor?
Falls im Editor, du verwendest doch Scintilla (wie auch SciTE). Und da könntest du die Zeichen-Typ-Info heranziehen um die Kommapositionen für die Parametertrennung zu identifizieren.
Beiträge von BugFix
-
-
Brauchst du eine globale Lösung, die also jede Variante an Parameterstrukturen berücksichtigt (auch mit unterschiedlichen Stringbegrenzern innerhalb einer Struktur) oder geht es dir speziell um diesen Anwendungsfall?
-
Schau mal hier: Button Designer
-
[Off-Topic, aber sowas von]
Ich fasse mal zusammen:
Du postest in einem Forum um Hilfe
- das am Absterben ist
- dessen Moderatoren du beschuldigst manipulativ in das Forengeschehen einzugreifen
- dessen User nicht an den Intellekt des durchschnittlichen Knuddel-Users heranreichenJa, um Himmels Willen, du Ärmster. Warum tust du dir das an?
[/Off-Topic]
-
genau wie kindisches Verhalten von dem Moderatorenteam. Gerade über deine Person kann man so einiges in diversen Foren lesen.
You made my day.Mein ehrlicher Tipp: Poste in Zukunft in diesen "diversen Foren".
-
Also soll ich mein Vertrauen auf Programmierer stützen, die keine Ahnung haben, was ein Algorithmus ist?
Für diese Unverschämtheit hast du dir gerade eine Verwarnung eingefangen. Wenn dir tatsächlich an Antworten gelegen ist, solltest du schnellstens die Bedeutung des Wortes Netiquette ergoogeln. -
Warum Windows verwenden?
Nimm ein Linux, da klappt das mit der Rechteverwaltung auch besser und der User kann die auch nicht ohne Weiteres aushebeln. -
Vielleicht reden wir aneinander vorbei.
Mir geht es um diese Klammern (denn nur durch diese erhältst du die Capturing Group 1 beginnend bei 34):
'(?m)(34(?:[^\|]*\|){12})((?:[^\|]*\|{1}){3})'Match ist alles was das Pattern zusammenhängend findet. Somit kannst du ja n-Matches haben (deshalb gibt es das Flag für Anzahl Ersetzungen).
Und Replace ersetzt immer ALLES was der Match repräsentiert. Glaub es oder probiere es aus.
Deshalb die Capturing Groups, damit beim Replace nichts verloren geht und man nur das nötige ersetzt.
-
Btw. die zusätzlichen Klammern sind nicht nötig
Ähhm, doch. Replace ersetzt alles, was im Match ist, völlig egal ob in Capturing Groups oder nicht. Also alles, was dein Pattern erfasst, wird gnadenlos gegen Replace-String ersetzt. Somit muß das, was erhalten bleiben soll auch in Capturing Groups gefangen werden und über deren Nummer (entweder mit "$1" "$2" od. "\1" "\2" usw.) dem Replace-String beigefügt werden. -
und man sieht immer noch am Gehäuse, wo mal ein Schraubenzieher zum Aufhebeln benutzt worden ist
Ja, das sind die Feinheiten der Laptop-Reparatur. Grundsätzlich merken: Es geht nicht einfach.
Selbst wenn du "nur" das Display tauschen möchtest, musst du so ziemlich alle Gehäuseteile abnehmen. Reperaturfreundlichkeit gehört nicht unbedingt zum Prinzip von Laptops. 
-
Je nach Typ kannst du ein Display auch gebraucht bekommen. Habe schonmal ein 15" LCD-Display für nen Acer Laptop bei eBay für 30 EUR bekommen.
Einbau erledigt sich in 30-40 min. (Es sei denn, du hast zwei linke Hände
). -
Vielleicht hilft dir das: GDI+ Analoguhr Beispiel als Anregung.
Denn wenn du flüssig zeichnen möchtest ist GDI+ nunmal erste Wahl. Warum möchtest du das nicht einsetzen? -
habe ich das guictrlcreategroup gelöscht und lebe zufrieden.
Probiere mal mein Group-Control (GroupEx.au3 -- Group Control zum Gestalten an allen Ecken und Enden v0.7), vielleicht verhält sich das anders. -
Beim Doppelklick auf den Fehler öffnet sich ein Fenster, in dem idR noch weitere Informationen stehen.
Ich habe die Event-Ansicht schon so eingestellt, dass diese Zusatzinfos gleich mit angezeigt werden, sind aber nur beim WindowsSearch-Fehler vorhanden.
Muss ich wohl doch mal irgendein Cleaner-Tool benutzen. Bin ich eigentlich kein Freund von, da man damit meist den Status nur verschlimmbessert.
-
Wenn es in einem Rutsch nicht realisierbar sein sollte, z.B. weil in Abhängigkeit des Matches unterschiedliche Textelemente eingesetzt werden sollen, dann empfehle ich dir _StringRegExpReplace_Callback von Taz77.
-
Hi,
ich habe mal wieder einen Blick in meine System-Events geworfen (nur Fehler - Warnungen gehen ja in die zig-Tausende) und habe versucht diese auszumerzen. Aber leider werfen einige Events nur eine ID ohne Beschreibung und die Events mit Beschreibung lassen sich nicht bereinigen, jedenfalls habe ich noch keine Lösung dafür finden können.System: Win 7 Pro 64
Läuft stabil (nur etwa 2-mal pro Jahr ein Bluescreen
) und schnell.
Aber mich stören halt die Fehlermeldungen, hätte es gerne "sauber".So sieht das Event-Log nach einem Neustart aus:
Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist. Habt ihr irgendeine Idee, wie ich das sauber kriege?
-
wurde die Methode mit einem Punkt "angehängt".
$a = $objVariable.Methode
$b = $objVariable.Property
Wie will man da zwischen Methoden und Eigenschaften unterscheiden? Können ja beide denselben Namen haben.
Aber egal, in AutoIt werden halt die Klammern bei Methoden gesetzt. -
"()" sind doch normalerweise bei Objekten nicht üblich
?? Also in den Sprachen, in denen ich mit Objekten arbeite, ist "()" sehr wohl üblich für Methoden. Und das ist auch gut so, das schafft Klarheit und Übersicht. Einzig in VB habe ich bisher solch Aufrufe gesehen: "Methodenname Parameter1 Parameter2". Hat mich nie begeistert und dient auch eher dazu Code unleserlich zu machen.
Und nebenbei: die Klammer ist natürlich nicht leer, auch wenn du sie leer übergibst - sie enthält die Referenz auf das Objekt.
-
Meine Vermutung ist, dass .WorkBooks.Add ein Objekt für das Workbook zurück gibt und du mit diesem dann .Sheets.Add() ausführen musst.
In etwa so:
Kannst du einfach testen, indem du obigen Code verwendest und prüfst ob $oWorkbook ein Objekt ist:
If IsObj($oWorkbook) Then ConsoleWrite("$oWorkbook ist ein Objekt" & @LF) -
Beim arbeiten mit dem Editor SciTE muss man zuerst eine Sicherung vornehmen, ehe man mit F5 die Ausführung des Scriptes starten kann
Der Hintergrund dafür ist folgender:
Eine neu erstellte Datei hat logischerweise keine Dateiendung (ist ja noch nicht gespeichert). Alle Funktionen in SciTE basieren aber auf der Funktionszuordnung über die Dateiendung. Ich starte auch meine Lua- und Pythonskripte mit F5, somit braucht der Editor schon eine Information, welchen Build-Befehl er verwenden muss. Und dazu wird halt die Dateiendung verwendet.
Das ist aber bei allen Multi-Editoren der Fall. Ausschliesslich auf eine Sprache orientierte IDE's brauchen das nicht, weil sie eh nur diese eine Sprache können.