Leaderboard
Popular Content
Showing content with the highest reputation on 08/28/2016 in all areas
-
Directory Enquiries Challenge
stamandster and one other reacted to pluto41 for a topic
; Input check for valid phone numbers ; Documentation about phone number conventions: https://en.wikipedia.org/wiki/National_conventions_for_writing_telephone_numbers #include <array.au3> Opt ('MustDeclareVars', 1) Local $findnumb = _ ['882 8565','123 8762','7543010','07843 543287','00441619346534','+44208','0015417543012'] Local $strPhoneNumber, $intPhoneNumberLength For $i = 0 to UBound ( $findnumb ) - 1 $strPhoneNumber = $findnumb[$i] $strPhoneNumber = StringRegExpReplace($findnumb[$i],"[^0-9]","") ; * don't remove any starting 0 digit. They are used in some City Codes * $intPhoneNumberLength = StringLen ( $strPhoneNumber ) Switch ( $intPhoneNumberLength ) Case 12 ; to 15 [ a maximum of 15 numbers is reserved for use. Not sure if any country uses numbers higher then 12 digits-long at the moment. ConsoleWrite ( $strPhoneNumber & " [Valid Telephone Number with Country and City code]" & @CRLF ) Case 10 ; Twenty-four countries and territories share the North American Numbering Plan (NANP), with a single country code. It is a closed ; telephone numbering plan in which all telephone numbers consist of 10 digits, with the first three digits representing the area code ConsoleWrite ( $strPhoneNumber & " [Valid Telephone Number with City Code]" & @CRLF ) ;Case 9 ; ; Belgian telephone numbers: Land lines are always 9 digits long ; ConsoleWrite ( $strPhoneNumber & " [Valid Belgian Telephone Number With City Code]" & @CRLF ) ;Case 8 ; ; Danish telephone numbers are eight digits long ; ConsoleWrite ( $strPhoneNumber & " [Valid Belgian Telephone Number With City Code]" & @CRLF ) Case 7 ; 7-digit numbers: Most codes retain these rules today; in these areas, phone numbers continue to be written as 7-digit numbers ConsoleWrite ( $strPhoneNumber & " [Valid Local Telephone Number]" & @CRLF ) ;Case 6 ; ; Hungary the standard lengths for area codes is two / Subscribers' numbers are six digits long ; ConsoleWrite ( $strPhoneNumber & " [Valid Hungary Local Telephone Number]" & @CRLF ) Case 3 ConsoleWrite ( $strPhoneNumber & " [Valid Service Number]" & @CRLF ) Case Else ConsoleWrite ( $strPhoneNumber & " [Invalid Phone Number]" & @CRLF ) EndSwitch Next Nice to see all the good ideas you people come up with. Although i don't have much programming time the whole idea of phone number checking sounds great to me. This morning i thought about it a little more and concluded that since we don't have a UDF with all Country and City Codes and conventions its perhaps the best to stick with some simple string length checking.2 points -
Directory Enquiries Challenge
stamandster and one other reacted to Somerset for a topic
I am taking the political view on this challenge. I will outsource it, and then claim i did it.2 points -
Directory Enquiries Challenge
stamandster reacted to czardas for a topic
You are absolutely right and I take back what I said. An unassigned number might be assigned at any point in the future. DUH!1 point -
Directory Enquiries Challenge
czardas reacted to stamandster for a topic
I'm not sure that's completely accurate :-) A number doesn't have to belong to someone to be a "real number". There is, however, a difference between an assigned number and an unassigned number. The challenge (at least from what I understood) wasn't specifically to find real/fake or assignable/unassignable numbers, it was to match numbers from the reference list to the best possible means.1 point -
Get time without DST
argumentum reacted to AlecSadler for a topic
Awesome, thanks! I'll implement it asap into my code!1 point -
Get time without DST
AlecSadler reacted to argumentum for a topic
use _Date_Time_TzSpecificLocalTimeToSystemTime() .1 point -
4D Holographic Encryption with DARTIS©
argumentum reacted to AlecSadler for a topic
The full 3,977,174 bit key is required because it's holographic, each "layer" is encrypted "through" the layer that comes before it. For this to work both sides would require the full exact matching key, without it, the data will just turn out be useless garbled text. I could see it being useful for transmitting data that needs extreme security, such as banking records, trade secrets, private chats, etc. (currently the key is symmetrical , meaning that the encryption is only as secure as the key, so it would be most secure the transfer they key via non-electronic methods) Once two people or two parties both posses the same full key, they can then communicate any data securely.1 point -
CommAPI - Serial and parallel communication with Windows API
argumentum reacted to algiuxas for a topic
Everything works fine. Don't worry.1 point -
CommAPI - Serial and parallel communication with Windows API
algiuxas reacted to argumentum for a topic
, you'll have to play around with it. Unfortunately I could not find a ZIP with all and examples.1 point -
4D Holographic Encryption with DARTIS©
argumentum reacted to AlecSadler for a topic
Okay I got a quick and easy fix to the string length issue. In DARTIS.au3 change the _gravity function to this: func _gravity($seed) $array = StringSplit($seed, ";") Dim $cluster[$array[0]][9] for $i=0 to $array[0]-1 $temp = StringSplit($array[$i+1], "|") for $n=0 to $temp[0]-1 $cluster[$i][$n] = $temp[$n+1] Next Next (I've also attached the fix to the main post)1 point -
4D Holographic Encryption with DARTIS©
argumentum reacted to AlecSadler for a topic
Sorry about that! It appears there is currently a limit to how much data can be encrypted in one go, something to do with the properties of the math I am using. I will look into a way around it! Holographic encryption buries the data under 6 layers of encryption, making it super secure! Also the three shows that come to mind which have mentioned such a technology are "Continuum", "StarGate", and "Doctor Who".1 point -
CommAPI - Serial and parallel communication with Windows API
algiuxas reacted to argumentum for a topic
https://www.autoitscript.com/wiki/CommAPI ?1 point -
4D Holographic Encryption with DARTIS©
iamtheky reacted to AlecSadler for a topic
Oh I forgot trance wasnt a man. oh my, oops! Let me fix that.1 point -
That is correct @czardas the switch statement i made is incomplete. it was merely showing another approach for number checking. By using the KIS principle (Keep It Simple). Thats also why i commented some lines. When i would use the code i wrote into production i think i would have included all country rules into the switch statement. When production requirements are really -high- i would (personally) create a array for every country and every city there exists. As i live in the Netherlands i would start with some arrays something like this: Netherland = +31 CityName1 = 051 CityName2 = 038 ... .. LandLineLength = 8 MobileNumberPrefixLength1 = 06 MobileNumberSuffix = 8 chars This has then to be done in a consistent way for every country / city including all exceptions. [a hell of a job] So thats exactly the reason why i thought KIS and wrote some example code into that direction. Again its merely a approach and i think it depends on the requirements which way to go.1 point
-
Directory Enquiries Challenge
stamandster reacted to czardas for a topic
I absolutely agree. This is one of five search algorithms I am implementing in a program of mine. The others are ebay (word sequence) type searches and string type (exact or part string) searches. For my own purposes, these combined search algorithms will find anything I might ever type and this constitutes the final piece of the puzzle. I'm not partaking in the challenge, but I'll leave this a while for anyone else who wants to have a try. Your comments and ideas are invaluable to me and often quite entertaining. Those who wanted, or expected, a fool proof solution are naturally going to be disappointed. The challenge is to find the best approach - nothing more and nothing less. I'll look at every entry and ask someone to pick what they think is the most inventive solution. Failing that I'll pick one myself. The number of times I write phone numbers on scraps of paper is so annoying. People also give me numbers all the time. Now I can clear my drawer full of scrap paper without duplicating anything I might already have logged. No need to worry about number format (however rough and ready the solution might be). It should be born in mind that 99.9% of the world's population do not have a systematic way to type phone numbers, nor do they even know what a regular expression is.1 point -
1 point
-
While Runwait
WannaBeGut reacted to argumentum for a topic
#include <GUIConstantsEx.au3> $command = 'xcopy "' & @DesktopDir & '\text.txt"' & ' "\\ADMIN-CLOUD\private\" /EECHIY' $SW_STATE = @SW_HIDE $hGui = GUICreate("Stuff is happening", 100, 100, 0, 0) $handle = WinGetHandle("Stuff is happening") GUISetState(@SW_SHOW, $handle) GUICtrlCreateLabel("working,..", 0, 50) $cancel = GUICtrlCreateButton("Cancel", 0, 75) Global $i_PID = Run(@ComSpec & " /c " & $command , @DesktopDir, $SW_STATE) ; careful here, all those """""" Global $SEC = @SEC While 1 If $SEC <> @SEC Then ; to ease up on the CPU, check every sec. $SEC = @SEC If Not ProcessExists($i_PID) Then ExitLoop EndIf Switch GUIGetMsg() Case $GUI_EVENT_CLOSE ExitLoop Case $cancel; ,$GUI_EVENT_CLOSE <--- should go here ? Do ProcessClose($i_PID) Sleep(200) Until Not ProcessExists($i_PID) ExitLoop EndSwitch WEnd That criteria should be functional.1 point -
While Runwait
WannaBeGut reacted to markyrocks for a topic
ya that does look a lil wicked , this is the best i can do for you, well for now anyway #include <GUIConstantsEx.au3> $command = 'xcopy "' & @DesktopDir & '\text.txt"' & ' "\\ADMIN-CLOUD\private\" /EECHIY' $SW_STATE = @SW_HIDE RunWait(@ComSpec & " /c " & '"' & $command & '"', @DesktopDir, $SW_State) AdlibRegister("_CheckState",1000) func _CheckState() if ProcessExists("process.exe") Then _Working() Else AdlibUnRegister("_CheckState") EndIf EndFunc func _Working() $hGui=GUICreate("Stuff is happening",100,100,0,0) $handle=WinGetHandle("Stuff is happening") GUISetState(@SW_SHOW,$handle) GUICtrlCreateLabel("working,..",0,50) $cancel=GUICtrlCreateButton("Cancel",0,75) $process=ProcessExists("process.exe") While $process<>0 $process=ProcessExists("process.exe") if $process=0 Then ExitLoop EndIf Switch GUIGetMsg() Case $GUI_EVENT_CLOSE ExitLoop Case $cancel _Cancel() ExitLoop EndSwitch WEnd EndFunc Func _Cancel() MsgBox("","","you pressed cancel") if ProcessExists("process.exe") Then ProcessClose("process.exe") Else MsgBox("","error","process.exe doesn't exist") EndIf EndFunc1 point -
Directory Enquiries Challenge
argumentum reacted to czardas for a topic
Not everyone is a council worker.1 point -
Directory Enquiries Challenge
czardas reacted to argumentum for a topic
dumpster diving scenario nevertheless a good exercise1 point -
Directory Enquiries Challenge
stamandster reacted to jchd for a topic
Do you mean that there are no errors in the list of queries? If so I agree that this kind of fuzzy search isn't the tool to use and that I misunderstood your goal. But then a regex would do. But if you expect to match a query "local" or short number (no country code, no area code) against a real-world long list of actual numbers, then you'll get erroneous/misleading results as well. I look at the problem as ill-posed: "I failed to know my data at the right time and I'm now facing an untractable mess". Phone numbers aren't given by martians or a random lottery, they come from some source along with a meaning: they aren't data, but information. E.g. this is the phone number of one customer in Denmark, this other one is for a friend in India, a.s.o. Failing to turn the raw data (the series of digits and signs) into valid, useable information in the first place is the actual issue. The same applies to the query list: you're supposed to know where you live and make a difference between 123456 being the local UK number of your neighbour, 123456 being the middle part of the number of a company in Singapore and the same 123456 being the real local number of your aunt in Colorado. With no information but instead just a pile of raw data, then exact matches could possibly be "reliably" obtained by regexp but meaningless for acual processing. Another big catch is that phone numbers continuously change over time all around the world. You must be some telco entity to track those changes reliably and adjust your list accordingly.1 point -
Directory Enquiries Challenge
stamandster reacted to czardas for a topic
They might exist somewhere.1 point -
Directory Enquiries Challenge
czardas reacted to stamandster for a topic
Lol yeah ;-) the challenge numbers are in error as some don't exist in their current form1 point -
Directory Enquiries Challenge
stamandster reacted to czardas for a topic
Human error is a different challenge! Not that I don't like your idea.1 point -
While Runwait
WannaBeGut reacted to tonycst for a topic
u cant do while runwait. runwait=pause the script until what ever runs exits. u need to: $process = run ("command") while 1 if $process = 0 then exitloop wend1 point -
In this case "Easy" is deceptive. Concept is quite simple though. Anyway, when are you going to write some AutoIt?1 point
-
Key to insert text into SciTE
tarretarretarre reacted to Jos for a topic
Just open the "SciTE Director interface" page in the SciTE4AutoIt3 helpfile to start reading. (Search: Director) Jos1 point -
Key to insert text into SciTE
tarretarretarre reacted to Jos for a topic
I would use the SciTE DIrector interface with a script like this: ; $Input_File="D:\test\test.txt" $text="this is the new text." $Input_File2=StringReplace($Input_File,"\","\\") $Line=3 $Column=10 SendSciTE_Command('open:' & $Input_File2) SendSciTE_Command("goto:" & $Line & ":" &$Column) SendSciTE_Command("insert:" & $text) ; ; Func SendSciTE_Command($sCmd) Opt("WinSearchChildren", 1) ; Get SciTE DirectorHandle $SciTE_hwnd = WinGetHandle("DirectorExtension") Local $WM_COPYDATA = 74 Local $CmdStruct = DllStructCreate('Char[' & StringLen($sCmd) + 1 & ']') DllStructSetData($CmdStruct, 1, $sCmd) Local $COPYDATA = DllStructCreate('Ptr;DWord;Ptr') DllStructSetData($COPYDATA, 1, 1) DllStructSetData($COPYDATA, 2, StringLen($sCmd) + 1) DllStructSetData($COPYDATA, 3, DllStructGetPtr($CmdStruct)) DllCall('User32.dll', 'None', 'SendMessage', 'HWnd', $SciTE_hwnd, _ 'Int', $WM_COPYDATA, 'HWnd', 0, _ 'Ptr', DllStructGetPtr($COPYDATA)) EndFunc ;==>SendSciTE_Command1 point -
Themes Notepad++ > to > Themes SciTE $key=1 ; если 1, то тема копируется в папку пользователя и перезапуск скайта отобразит новую тему. Если 0 то тема создаётся в виде конфига в папке темы, который нужно переместить в папку конфигуратора тем скайта. If FileExists(@ProgramFilesDir&'Notepad++themes') Then $WorkingDir=@ProgramFilesDir&'Notepad++themes' Else $WorkingDir=@WorkingDir EndIf $OpenFile = FileOpenDialog('Открыть', $WorkingDir , "Themes (*.xml)") If @error Then Exit $file = FileOpen($OpenFile, 0) $text1 = FileRead($file) FileClose($file) $text=StringRegExpReplace($text1,'(?s)(^.*)(e="autoit".*?</Le)(.*)$','2') $DEFAULT=StringRegExpReplace($text,'(?s)(.*?"DEFAULT".*?fgColor=")(w{6})(.*)','2') $COMMENT_LINE=StringRegExpReplace($text,'(?s)(.*?"COMMENT LINE".*?fgColor=")(w{6})(.*)','2') $COMMENT=StringRegExpReplace($text,'(?s)(.*?"COMMENT".*?fgColor=")(w{6})(.*)','2') $NUMBER=StringRegExpReplace($text,'(?s)(.*?"NUMBER".*?fgColor=")(w{6})(.*)','2') $FUNCTION=StringRegExpReplace($text,'(?s)(.*?"FUNCTION".*?fgColor=")(w{6})(.*)','2') $INSTRUCTION_WORD=StringRegExpReplace($text,'(?s)(.*?"INSTRUCTION WORD".*?fgColor=")(w{6})(.*)','2') $MACRO=StringRegExpReplace($text,'(?s)(.*?"MACRO".*?fgColor=")(w{6})(.*)','2') $STRING=StringRegExpReplace($text,'(?s)(.*?"STRING".*?fgColor=")(w{6})(.*)','2') $OPERATOR=StringRegExpReplace($text,'(?s)(.*?"OPERATOR".*?fgColor=")(w{6})(.*)','2') $VARIABLE=StringRegExpReplace($text,'(?s)(.*?"VARIABLE".*?fgColor=")(w{6})(.*)','2') $SENT=StringRegExpReplace($text,'(?s)(.*?"SENT".*?fgColor=")(w{6})(.*)','2') $PREPROCESSOR=StringRegExpReplace($text,'(?s)(.*?"PREPROCESSOR".*?fgColor=")(w{6})(.*)','2') $SPECIAL=StringRegExpReplace($text,'(?s)(.*?"SPECIAL".*?fgColor=")(w{6})(.*)','2') $EXPAND=StringRegExpReplace($text,'(?s)(.*?"EXPAND".*?fgColor=")(w{6})(.*)','2') $COMOBJ=StringRegExpReplace($text,'(?s)(.*?"COMOBJ".*?fgColor=")(w{6})(.*)','2') $BG=StringRegExpReplace($text,'(?s)(.*?bgColor=")(w{6})(.*)','2') If StringLen($DEFAULT)>6 Then $DEFAULT=0 If StringLen($COMMENT_LINE)>6 Then $COMMENT_LINE=0 If StringLen($COMMENT)>6 Then $COMMENT=0 If StringLen($NUMBER)>6 Then $NUMBER=0 If StringLen($FUNCTION)>6 Then $FUNCTION=0 If StringLen($INSTRUCTION_WORD)>6 Then $INSTRUCTION_WORD=0 If StringLen($MACRO)>6 Then $MACRO=0 If StringLen($STRING)>6 Then $STRING=0 If StringLen($OPERATOR)>6 Then $OPERATOR=0 If StringLen($VARIABLE)>6 Then $VARIABLE=0 If StringLen($SENT)>6 Then $SENT=0 If StringLen($PREPROCESSOR)>6 Then $PREPROCESSOR=0 If StringLen($SPECIAL)>6 Then $SPECIAL=0 If StringLen($EXPAND)>6 Then $EXPAND=0 If StringLen($COMOBJ)>6 Then $COMOBJ=0 If StringLen($BG)>6 Then $BG=0 $text=StringRegExpReplace($text1,'(?s)(^.*)(<GlobalStyles>.*?</GlobalStyles>)(.*)$','2') $Selected_text_colour=StringRegExpReplace($text,'(?s)(.*?"Selected text colour".*?fgColor=")(w{6})(.*)','2') $Selected_text_colourBg=StringRegExpReplace($text,'(?s)(.*?"Selected text colour".*?bgColor=")(w{6})(.*)','2') $Fold_marginBg=StringRegExpReplace($text,'(?s)(.*?"Fold margin".*?bgColor=")(w{6})(.*)','2') $Fold_margin=StringRegExpReplace($text,'(?s)(.*?"Fold margin".*?fgColor=")(w{6})(.*)','2') $Caret_colour=StringRegExpReplace($text,'(?s)(.*?"Caret colour".*?fgColor=")(w{6})(.*)','2') $Line_number_margin=StringRegExpReplace($text,'(?s)(.*?"Line number margin".*?fgColor=")(w{6})(.*)','2') $Line_number_marginBg=StringRegExpReplace($text,'(?s)(.*?"Line number margin".*?bgColor=")(w{6})(.*)','2') $Current_line_background_colourBg=StringRegExpReplace($text,'(?s)(.*?"Current line background colour".*?bgColor=")(w{6})(.*)','2') $Brace_highlight_style=StringRegExpReplace($text,'(?s)(.*?"Brace highlight style".*?fgColor=")(w{6})(.*)','2') $Brace_highlight_styleBg=StringRegExpReplace($text,'(?s)(.*?"Brace highlight style".*?bgColor=")(w{6})(.*)','2') $Global_overrideFN=StringRegExpReplace($text,'(?s)(.*?"Global override".*?fontName=")([0-9a-zA-Z_ ]+?)(".*)','2') $Global_overrideFS=StringRegExpReplace($text,'(?s)(.*?"Global override".*?fontSize=")(d+)(".*)','2') If StringLen($Selected_text_colour)>6 Then $Selected_text_colour=0 If StringLen($Selected_text_colourBg)>6 Then $Selected_text_colourBg=0 If StringLen($Fold_marginBg)>6 Then $Fold_marginBg=0 If StringLen($Fold_margin)>6 Then $Fold_margin=0 If StringLen($Caret_colour)>6 Then $Caret_colour=0 If StringLen($Line_number_margin)>6 Then $Line_number_margin=0 If StringLen($Line_number_marginBg)>6 Then $Line_number_marginBg=0 If StringLen($Current_line_background_colourBg)>6 Then $Current_line_background_colourBg=0 If StringLen($Brace_highlight_style)>6 Then $Brace_highlight_style=0 If StringLen($Brace_highlight_styleBg)>6 Then $Brace_highlight_styleBg=0 If StringLen($Global_overrideFN)>30 Then $Global_overrideFN='Arial' If StringLen($Global_overrideFS)>2 Then $Global_overrideFS=10 $text= _ '#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#' & @CRLF & _ '# START: DO NOT CHANGE ANYTHING AFTER THIS LINE #-#-#-#-#' & @CRLF & _ '# Created by SciTEConfig' & @CRLF & _ '#------------------------------------------------------------' & @CRLF & _ 'font.base=font:'&$Global_overrideFN&',size:'&$Global_overrideFS&',$(font.override)' & @CRLF & _ 'font.monospace=font:'&$Global_overrideFN&',size:'&$Global_overrideFS & @CRLF & _ 'proper.case=0' & @CRLF & _ 'check.updates.scite4autoit3=0' & @CRLF & _ 'use.tabs=1' & @CRLF & _ 'indent.size=4' & @CRLF & _ 'indent.size.*.au3=4' & @CRLF & _ 'tabsize=4' & @CRLF & _ '#Background' & @CRLF & _ 'style.au3.32=style.*.32=$(font.base),back:#'&$BG & @CRLF & _ '# Brace highlight' & @CRLF & _ 'style.au3.34=fore:#'&$Brace_highlight_style&',back:#'&$Brace_highlight_styleBg&'' & @CRLF & _ '# Brace incomplete highlight' & @CRLF & _ 'style.au3.35=fore:#'&$COMMENT_LINE&',italics,back:#'&$BG & @CRLF & _ @CRLF & _ '# Line Number Margin - колонка номеров строк' & @CRLF & _ 'style.au3.33=fore:#'&$Line_number_margin&',back:#'&$Line_number_marginBg&',$(font.base)' & @CRLF & _ 'style.au3.37=fore:#'&$Line_number_margin&',back:#'&$Line_number_marginBg&'' & @CRLF & _ '#line.margin.visible=1' & @CRLF & _ 'line.margin.width=1+' & @CRLF & _ @CRLF & _ '# Колонка плюсиков для разворачивания блоков' & @CRLF & _ 'fold.margin.colour=#'&$Fold_margin & @CRLF & _ 'fold.margin.highlight.colour=#'&$Fold_marginBg & @CRLF & _ '#fold.compact=0' & @CRLF & _ @CRLF & _ '# Мигающий курсор' & @CRLF & _ 'caret.fore=#'&$Caret_colour & @CRLF & _ 'caret.line.back=#'&$Current_line_background_colourBg&'' & @CRLF & _ '#caret.width=2' & @CRLF & _ '#caret.line.back.alpha=100' & @CRLF & _ @CRLF & _ '# Выделенная область курсором' & @CRLF & _ 'selection.fore=#'&$STRING & @CRLF & _ 'selection.back=#'&$Selected_text_colourBg & @CRLF & _ '# selection.alpha=75' & @CRLF & _ @CRLF & _ '# Вертикальная линия справа, edge.mode=0 убирает эту линию, edge.column - отступ слева до линии' & @CRLF & _ 'edge.colour=#'&$Line_number_margin & @CRLF & _ 'edge.mode=0' & @CRLF & _ '#edge.column=500' & @CRLF & _ @CRLF & _ '#Console - запись в консоль при выполнении скрипта по F5' & @CRLF & _ 'style.errorlist.32=back:#'&$BG&',$(font.monospace)' & @CRLF & _ 'style.errorlist.0=fore:#'&$STRING & @CRLF & _ 'style.errorlist.5=fore:#000000' & @CRLF & _ 'style.errorlist.3=fore:#'&$OPERATOR & @CRLF & _ 'style.errorlist.4=fore:#'&$FUNCTION & @CRLF & _ 'style.errorlist.11=fore:#'&$COMMENT & @CRLF & _ 'style.errorlist.12=fore:#'&$SENT & @CRLF & _ 'error.marker.fore=fore:#ff0000,italics,back:#'&$BG & @CRLF & _ 'colour.error=fore:#ff0000,back:#'&$OPERATOR $text&= @CRLF & _ '#White space' & @CRLF & _ 'style.au3.0=fore:#'&$DEFAULT&',back:#'&$BG & @CRLF & _ '#Comment line' & @CRLF & _ 'style.au3.1=fore:#'&$COMMENT_LINE&',italics,back:#'&$BG & @CRLF & _ '#Comment block' & @CRLF & _ 'style.au3.2=fore:#'&$COMMENT&',italics,back:#'&$BG & @CRLF & _ '#Number' & @CRLF & _ 'style.au3.3=fore:#'&$NUMBER&',back:#'&$BG & @CRLF & _ '#Function' & @CRLF & _ 'style.au3.4=fore:#'&$FUNCTION&',back:#'&$BG & @CRLF & _ '#Keyword' & @CRLF & _ 'style.au3.5=fore:#'&$INSTRUCTION_WORD&',back:#'&$BG & @CRLF & _ '#Macro' & @CRLF & _ 'style.au3.6=fore:#'&$MACRO&',back:#'&$BG & @CRLF & _ '#String' & @CRLF & _ 'style.au3.7=fore:#'&$STRING&',back:#'&$BG & @CRLF & _ '#Operator' & @CRLF & _ 'style.au3.8=fore:#'&$OPERATOR&',back:#'&$BG & @CRLF & _ '#Variable' & @CRLF & _ 'style.au3.9=fore:#'&$VARIABLE&',back:#'&$BG & @CRLF & _ '#Sent keys' & @CRLF & _ 'style.au3.10=fore:#'&$SENT&',bold,back:#'&$BG & @CRLF & _ '#Pre-Processor' & @CRLF & _ 'style.au3.11=fore:#'&$PREPROCESSOR&',back:#'&$BG & @CRLF & _ '#Special' & @CRLF & _ 'style.au3.12=fore:#'&$SPECIAL&',back:#'&$BG & @CRLF & _ '#Abbrev-Expand' & @CRLF & _ 'style.au3.13=fore:#'&$EXPAND&',bold,back:#'&$BG & @CRLF & _ '#Com Objects' & @CRLF & _ 'style.au3.14=fore:#'&$COMOBJ&',bold,back:#'&$BG & @CRLF & _ '#Standard UDF''s' & @CRLF & _ 'style.au3.15=fore:#'&$DEFAULT&',back:#'&$BG If $key Then $file = FileOpen(@UserProfileDir&'SciTEUser.properties', 2) FileWrite($file, $text) FileClose($file) Else $file = FileOpen($WorkingDir&''&StringRegExpReplace($OpenFile, '(^.*)(.*).(.*)$', '2')&'.SciTEConfig', 2) FileWrite($file, $text) FileClose($file) EndIf1 point