 |
AutoHotkey Community Wir helfen uns gegenseitig aus der Patsche
|
| Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
| Autor |
Nachricht |
quantum
Anmeldedatum: 19.06.2008 Beiträge: 29
|
Verfasst am: So Jun 29, 2008 10:45 pm Titel: Parse Ergebnis mit Zeilenumbruch und Formatierung? |
|
|
Hallo.
wie bekomme ich beim Parse Ergenis einen Zeilenumbruch hin bzw. kann ich den bereits in der zu parsenden Zeile vorgeben?
Beispiel der Zeile:
Äpfel|1 Pfund|Liefern= 2,38 Euro (Sonderpreis bei Abholung 1,98 Euro)
Die Ausgabe sollte aber so aussehen:
2,38 Euro
(Sonderpreis bei Abholung 1,98 Euro)
Die Abfrage sieht z.Z. so aus:
| Code: | #NoEnv
Gui, Margin, 10, 10
Gui, Add, DropDownList, x10 y10 w70 h100 vDDL1 , Äpfel||Birnen|Pflaumen
Gui, Add, DropDownList, x10 y40 w70 h100 vDDL2 , 1 Pfund||2 Pfund|3 Pfund
Gui, Add, DropDownList, x10 y70 w70 h100 vDDL3 , Liefern||Abholung
Gui, Add, Edit, x90 y10 w170 h80 +ReadOnly vAusgabe,
Gui, Add, Button, x10 y100 w70 h30 gBerechnen, Berechnen
Treffer =
(
Äpfel|1 Pfund|Liefern= 2,38 Euro (Sonderpreis bei Abholung 1,98 Euro)
Birnen|1 Pfund|Abholung= 2,38 Euro
Pflaumen|1 Pfund|Abholung= 2,38 Euro (Sonderpreis bei Abholung 1,98 Euro)
)
Gui, Show, , Quantum
Return
; Berechnungbereich
Berechnen:
Gui, Submit, Nohide
Farbe := Farbe%RBG%
Eingabe = %DDL1%|%DDL2%|%DDL3%
; Standardausgabe
Ausgabe = Unbekannt!
Loop, Parse, Treffer, `n, `r
{
StringSplit, T, A_LoopField, =
If Eingabe = %T1%
{
Ausgabe = %T2%
Break
}
}
GuiControl, ,Ausgabe, %Ausgabe%
Return
GuiClose:
GuiEscape:
ExitApp |
Kann mir einer von euch Chracks helfen?
Vielen Dank und Gruss,
Quantum
Zuletzt bearbeitet von quantum am Mo Jul 07, 2008 12:04 am, insgesamt einmal bearbeitet |
|
| Nach oben |
|
 |
denick
Anmeldedatum: 15.09.2006 Beiträge: 1088 Wohnort: Berlin
|
Verfasst am: Mo Jun 30, 2008 6:51 am Titel: |
|
|
Moin,
z.B. so:
| Code: | ;...
Treffer =
(
Äpfel|1 Pfund|Liefern= 2,38 Euro|(Sonderpreis bei Abholung 1,98 Euro)
Birnen|1 Pfund|Abholung= 2,38 Euro
Pflaumen|1 Pfund|Abholung= 2,38 Euro|(Sonderpreis bei Abholung 1,98 Euro)
)
;...
Loop, Parse, Treffer, `n, `r
{
StringSplit, T, A_LoopField, =
If Eingabe = %T1%
{
StringReplace, Ausgabe, T2, |, `n, All
Break
}
}
|
_________________ Hilfe zur Hilfe
(de)nick |
|
| Nach oben |
|
 |
quantum
Anmeldedatum: 19.06.2008 Beiträge: 29
|
Verfasst am: Mo Jun 30, 2008 7:17 am Titel: |
|
|
| denick hat Folgendes geschrieben: | Moin,
z.B. so:
| Code: | ;...
Treffer =
(
Äpfel|1 Pfund|Liefern= 2,38 Euro|(Sonderpreis bei Abholung 1,98 Euro)
Birnen|1 Pfund|Abholung= 2,38 Euro
Pflaumen|1 Pfund|Abholung= 2,38 Euro|(Sonderpreis bei Abholung 1,98 Euro)
)
;...
Loop, Parse, Treffer, `n, `r
{
StringSplit, T, A_LoopField, =
If Eingabe = %T1%
{
StringReplace, Ausgabe, T2, |, `n, All
Break
}
}
|
|
Hallo (de)nick,
vielen Dank. Genau das habe ich gesucht.
Kurze Frage noch. Wie müßte das in diesem Beispiel aussehen?
| Code: | Loop, Parse, Treffer, `n, `r
{
StringSplit, T, A_LoopField, =
If Eingabe = %T1%
{
StringSplit, V, T2, |
Ausgabe = %V1%
HF := %V2%
SF := %V3%
Break
}
} |
Gruss, Quantum |
|
| Nach oben |
|
 |
denick (n-l-i) Gast
|
Verfasst am: Mo Jun 30, 2008 11:52 am Titel: |
|
|
| In diesem Beispiel ist das | als Trennzeichen schon verbraucht. Für die Trennung innerhalb des ersten Teils musst Du Dir deshalb irgendein anderes Zeichen aussuchen, das in den Texten sonst nicht vorkommt, und es mit `n replacen. |
|
| Nach oben |
|
 |
quantum
Anmeldedatum: 19.06.2008 Beiträge: 29
|
Verfasst am: Mo Jun 30, 2008 3:12 pm Titel: |
|
|
| denick (n-l-i) hat Folgendes geschrieben: | | In diesem Beispiel ist das | als Trennzeichen schon verbraucht. Für die Trennung innerhalb des ersten Teils musst Du Dir deshalb irgendein anderes Zeichen aussuchen, das in den Texten sonst nicht vorkommt, und es mit `n replacen. |
Vielen Dank (de)nick,
habe ich verstanden und es funzt gut.
Gruss, Quantum |
|
| Nach oben |
|
 |
quantum
Anmeldedatum: 19.06.2008 Beiträge: 29
|
Verfasst am: Mo Jul 07, 2008 12:03 am Titel: |
|
|
| denick (n-l-i) hat Folgendes geschrieben: | | In diesem Beispiel ist das | als Trennzeichen schon verbraucht. Für die Trennung innerhalb des ersten Teils musst Du Dir deshalb irgendein anderes Zeichen aussuchen, das in den Texten sonst nicht vorkommt, und es mit `n replacen. |
Hallo (de)nick,
du hast mir ja bei dieser Geschichte mit dem Zeilenumbruch klasse geholfen.
Gibt es eigentlich die Möglichkeit, in dem zu parsenden Text Text-Formatierungen
vorzunehmen, die er dann auch im Editfeld darstellen kann?
Also, so sieht die Abzufragende Zeile momentan aus:
(Kompletter Code ganz unten)
| Code: | | Äpfel|1 Pfund|Liefern= 2,38 Euro#(Sonderpreis bei Abholung 1,98 Euro) |
Ich benutze hier um einen Zeilenumbruch zu erzeugen die Rautetaste #.
Das Script gibt mir also im Editfeld folgendes aus:
2,38
(Sonderpreis bei Abholung 1,98 Euro)
Ich möchte aber gerne bestimmte Textpassagen oder einzelne Wörter farblich
bzw. Fett hervorheben. Wie z.B:
2,38
(Sonderpreis bei Abholung 1,98 Euro)
Ist das überhaupt in einem Edit-Feld möglich oder gibt es da andere Möglichkeiten?
| Code: | #NoEnv
; ##############################################################################
; Vorbelegung für Variablen
; ##############################################################################
; ------------------------------------------------------------------------------
; zu parsende Daten
; Für einen Zeilenumbruch im Ausgabe Editfeld benutze ich das Rautezeichen #
Treffer =
(
Äpfel|1 Pfund|Liefern= 2,38 Euro#(Sonderpreis bei Abholung 1,98 Euro)
Birnen|1 Pfund|Abholung= 2,38 Euro
Pflaumen|1 Pfund|Abholung= 2,38 Euro (Sonderpreis bei Abholung 1,98 Euro)
)
; !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
; ------------------------------------------------------------------------------
; ##############################################################################
; Gui
; ##############################################################################
; ------------------------------------------------------------------------------
Gui, Add, DropDownList, x10 y10 w70 h100 vWert1 , Äpfel||Birnen|Pflaumen
; !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Gui, Add, DropDownList, x10 y40 w70 h100 vWert2 , 1 Pfund||2 Pfund|3 Pfund
; !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Gui, Add, DropDownList, x10 y70 w70 h100 vWert3 , Liefern||Abholung
; !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Gui, Add, Edit, x90 y10 w170 h80 +ReadOnly vAusgabe,
; !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Gui, Add, Button, x10 y100 w70 h30 gBerechnen, Berechnen
; !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Gui, Show, , Auslese Test
Return
; ------------------------------------------------------------------------------
; ##############################################################################
; Subroutinen
; ##############################################################################
; ------------------------------------------------------------------------------
; Berechnungbereich
Berechnen:
Gui, Submit, Nohide
Farbe := Farbe%RBG%
Eingabe = %Wert1%|%Wert2%|%Wert3%
; Standardausgabe
Ausgabe = Unbekannt!
Loop, Parse, Treffer, `n, `r
{
StringSplit, T, A_LoopField, =
If Eingabe = %T1%
{
StringReplace, Ausgabe, T2, #, `n, All ; #, `n, All (gibt mit # einen Zeilenumbruch aus)
Break
}
}
GuiControl, ,Ausgabe, %Ausgabe%
Return
; ------------------------------------------------------------------------------
; ##############################################################################
; Programmexit
; ##############################################################################
GuiClose:
GuiEscape:
ExitApp
; ------------------------------------------------------------------------------ |
Vielen Dank.
Gruss, Quantum |
|
| Nach oben |
|
 |
denick
Anmeldedatum: 15.09.2006 Beiträge: 1088 Wohnort: Berlin
|
Verfasst am: Mo Jul 07, 2008 5:46 am Titel: |
|
|
Moin,
weder Edit- noch Textfelder bieten die Möglichkeit, das Textformat innerhalb eines Feldes zu wechseln.
Im Mutterforum hat Micha eine Dll eingestellt, die auch ein RichTextfeld enthält, ich habe das aber noch nicht probiert.
Die etwas einfachere Möglichkeit wäre vielleicht, Seans IE-Control zu verwenden, den Text als HTML in eine Datei zu schreiben und diese zu laden, das macht aber auch Arbeit.
Hardliner könnten sich den Text auch aus einzelnen unterschiedlich formatierten Textfeldern zusammenwursteln. Da muss man aber mit dynamischer Größenanpassung arbeiten und immer den verfügbaren Platz im Auge behalten.
 _________________ Hilfe zur Hilfe
(de)nick |
|
| Nach oben |
|
 |
quantum
Anmeldedatum: 19.06.2008 Beiträge: 29
|
Verfasst am: Mo Jul 07, 2008 6:13 am Titel: |
|
|
| denick hat Folgendes geschrieben: | Moin,
weder Edit- noch Textfelder bieten die Möglichkeit, das Textformat innerhalb eines Feldes zu wechseln.
Im Mutterforum hat Micha eine Dll eingestellt, die auch ein RichTextfeld enthält, ich habe das aber noch nicht probiert.
Die etwas einfachere Möglichkeit wäre vielleicht, Seans IE-Control zu verwenden, den Text als HTML in eine Datei zu schreiben und diese zu laden, das macht aber auch Arbeit.
Hardliner könnten sich den Text auch aus einzelnen unterschiedlich formatierten Textfeldern zusammenwursteln. Da muss man aber mit dynamischer Größenanpassung arbeiten und immer den verfügbaren Platz im Auge behalten.
 |
Hatte ich mir fast schon gedacht. Aber mir was anderes eingefallen.
Was ist, wenn ich ein zweites Edit- oder Textfeld nehme, um den Zusatztext, den ich ausgeben will, dort reinschreiben zu lassen. Dann kann ich ja dieses Feld anders Formtieren.
Also er schreibt dann den 1. Teil des Ergebnisses in Editfeld 1 und den Zusatz in Editfeld 2.
Geht das? Und wenn ja, wie teile ich dann den Parse auf?
Beispielscript:
| Code: | #NoEnv
; ##############################################################################
; Vorbelegung für Variablen
; ##############################################################################
; ------------------------------------------------------------------------------
; zu parsende Daten
; Für einen Zeilenumbruch im Ausgabe Editfeld benutze ich das Rautezeichen #
Treffer =
(
Äpfel|1 Pfund|Liefern= 2,38 Euro#(Sonderpreis bei Abholung 1,98 Euro)
Birnen|1 Pfund|Abholung= 2,38 Euro
Pflaumen|1 Pfund|Abholung= 2,38 Euro (Sonderpreis bei Abholung 1,98 Euro)
)
; !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
; ------------------------------------------------------------------------------
; ##############################################################################
; Gui
; ##############################################################################
; ------------------------------------------------------------------------------
Gui, Add, DropDownList, x10 y10 w70 h100 vWert1 , Äpfel||Birnen|Pflaumen
; !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Gui, Add, DropDownList, x10 y40 w70 h100 vWert2 , 1 Pfund||2 Pfund|3 Pfund
; !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Gui, Add, DropDownList, x10 y70 w70 h100 vWert3 , Liefern||Abholung
; !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Gui, Add, Edit, x90 y10 w170 h30 +ReadOnly vAusgabe1,
; !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Gui, Add, Edit, x90 y50 w170 h40 +ReadOnly vAusgabe2,
; !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Gui, Add, Button, x10 y100 w70 h30 gBerechnen, Berechnen
; !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Gui, Show, , Auslese Test
Return
; ------------------------------------------------------------------------------
; ##############################################################################
; Subroutinen
; ##############################################################################
; ------------------------------------------------------------------------------
; Berechnungbereich
Berechnen:
Gui, Submit, Nohide
Farbe := Farbe%RBG%
Eingabe = %Wert1%|%Wert2%|%Wert3%
; Standardausgabe
Ausgabe1 = Unbekannt!
Loop, Parse, Treffer, `n, `r
{
StringSplit, T, A_LoopField, =
If Eingabe = %T1%
{
StringReplace, Ausgabe1, T2, #, `n, All ; #, `n, All (gibt mit # einen Zeilenumbruch aus)
Break
}
}
GuiControl, ,Ausgabe1, %Ausgabe1%
Return
; ------------------------------------------------------------------------------
; ##############################################################################
; Programmexit
; ##############################################################################
GuiClose:
GuiEscape:
ExitApp
; ------------------------------------------------------------------------------ |
Gruss, Quantum |
|
| Nach oben |
|
 |
denick
Anmeldedatum: 15.09.2006 Beiträge: 1088 Wohnort: Berlin
|
Verfasst am: Mo Jul 07, 2008 7:18 am Titel: |
|
|
Moin,
so: | Code: | #NoEnv
; ##############################################################################
; Vorbelegung für Variablen
; ##############################################################################
; ------------------------------------------------------------------------------
; zu parsende Daten
; Für einen Zeilenumbruch im Ausgabe Editfeld benutze ich das Rautezeichen #
Treffer =
(
Äpfel|1 Pfund|Liefern= 2,38 Euro#Sonderpreis bei Abholung 1,98 Euro
Birnen|1 Pfund|Abholung= 2,38 Euro
Pflaumen|1 Pfund|Abholung= 2,38 Euro#Sonderpreis bei Abholung 1,98 Euro
)
; !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
; ------------------------------------------------------------------------------
; ##############################################################################
; Gui
; ##############################################################################
; ------------------------------------------------------------------------------
Gui, Add, DropDownList, x10 y10 w70 h100 vWert1 , Äpfel||Birnen|Pflaumen
; !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Gui, Add, DropDownList, x10 y40 w70 h100 vWert2 , 1 Pfund||2 Pfund|3 Pfund
; !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Gui, Add, DropDownList, x10 y70 w70 h100 vWert3 , Liefern||Abholung
; !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Gui, Add, Edit, x90 y10 w170 h30 +ReadOnly vAusgabe1,
; !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Gui, Add, Edit, x90 y50 w170 h40 +ReadOnly vAusgabe2,
; !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Gui, Add, Button, x10 y100 w70 h30 gBerechnen, Berechnen
; !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Gui, Show, , Auslese Test
Return
; ------------------------------------------------------------------------------
; ##############################################################################
; Subroutinen
; ##############################################################################
; ------------------------------------------------------------------------------
; Berechnungbereich
Berechnen:
Gui, Submit, Nohide
Farbe := Farbe%RBG%
Eingabe = %Wert1%|%Wert2%|%Wert3%
; Standardausgabe
Ausgabe1 = Unbekannt!
Ausgabe2 =
Loop, Parse, Treffer, `n, `r
{
StringSplit, T, A_LoopField, =
If Eingabe = %T1%
{
StringSplit, Ausgabe, T2, #
Break
}
}
GuiControl, ,Ausgabe1, %Ausgabe1%
GuiControl, ,Ausgabe2, %Ausgabe2%
Return
; ------------------------------------------------------------------------------
; ##############################################################################
; Programmexit
; ##############################################################################
GuiClose:
GuiEscape:
ExitApp
; ------------------------------------------------------------------------------ |
 _________________ Hilfe zur Hilfe
(de)nick |
|
| Nach oben |
|
 |
DerRaphael
Anmeldedatum: 09.01.2008 Beiträge: 834 Wohnort: Zuhause
|
|
| Nach oben |
|
 |
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten.
|
Powered by phpBB © 2001, 2005 phpBB Group Deutsche Übersetzung von phpBB.de
|