# Copy and and replace Text From One file to another - (Moved)

## Recommended Posts

So basically need to pull text from a .txt file or .sql and use that text to replace something within a different file.

First File:

jumps

Or:

Text1 = jumps

Text2 = fence

Second File:

My Dog XXXXX over the YYYYY.

After Script:

My Dog jumps over the fence

I have found a good start, I'm basic programmer at best, I have some experience but this gets out of my wheel house.

Any help is appreciated.

Quote
#include <File.au3>

Global $TestFile = @ScriptDir & "\test.txt" Dim$MyArray

_FileReadToArray($TestFile,$MyArray)
For $i = 1 To$MyArray[0]
If StringInStr($MyArray[$i], "street") Then $MyArray[$i] = StringReplace($MyArray[$i], "street", "road")
Next
_FileWriteFromArray($TestFile,$MyArray, 1)

##### Share on other sites

Moved to the appropriate forum, as the Developer General Discussion forum very clearly states:

Quote

General development and scripting discussions. If it's super geeky and you don't know where to put it - it's probably here.

Do not create AutoIt-related topics here, use the AutoIt General Help and Support or AutoIt Technical Discussion forums.

Moderation Team

√-1 2^3 ∑ π, and it was delicious!

##### Share on other sites
Posted (edited)

Hi @dascondor, and welcome to the AutoIt forums

The script you posted seems have the behaviour you described.

What should it do more?

Edited by FrancescoDiMuro

Spoiler

Thoughts:

• I will always thank you for the time you spent for me.
I'm here to ask, and from your response, I'd like to learn.
By my knowledge, I can help someone else, and "that someone" could help in turn another, and so on.

/*--------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/

##### Share on other sites

@FrancescoDiMuro Thanks,

The Script isn't able to pull text from another file then use that text as the source to replace.

so source text like this:

Before:

System= Example1

Distract= Example2

Type= Example3

Source File:

Example1= Text1

Example2= Text2

Example3= Text3

Existing File:

System= Text1

Distract= Text2

Type= Text3

I have basic script that does a very very basic version that just replaces 1 text at a time from 1 file. I trying to do multiple different  Texts and multiple different files.

##### Share on other sites

I can figure the Replace text part of this. I really just need Help with the pulling text from a source file then using those different texts.

Such as:

Source File:

Text1= System
Text2= File
Text3= Documents

File:
Text1 is Down
Text2 is located in Text3.

Aftermath:
System is Down
File is located in Documents.

##### Share on other sites
Posted (edited)

@dascondor
You could do something like this:

#include <Array.au3>
#include <StringConstants.au3>

Global $strSourceFileName = @ScriptDir & "\SourceFile.txt", _$strReplacementFileName = @ScriptDir & "\ReplacementFile.txt", _
$strReplacementsFileContent, _$arrReplacements[0][2]   ; Array in which there are all the TextToFind|TextToReplace elements

; Read the file in which replacements have to be done
$strReplacementsFileContent = FileRead($strReplacementFileName)

; Display the file content before the replacements
MsgBox($MB_ICONINFORMATION, "Before the replacement",$strReplacementsFileContent)

; Create the array $arrReplacements _ArrayAdd($arrReplacements, StringRegExpReplace(FileRead($strSourceFileName), '([^=]+)=\s(.+)', '$1|$2')) ; Do all the replacements in the file For$i = 0 To UBound($arrReplacements) - 1 Step 1$strReplacementsFileContent = StringRegExpReplace($strReplacementsFileContent,$arrReplacements[$i][0],$arrReplacements[$i][1]) Next ; Display the file content after the replacements MsgBox($MB_ICONINFORMATION, "After the replacement", $strReplacementsFileContent) SourceFile.txt content: Spoiler Text1= System Text2= File Text3= Documents ReplacementFile.txt content: Spoiler Text1 is Down Text2 is located in Text3. Edited by FrancescoDiMuro Click here to see my signature: Spoiler Thoughts: • I will always thank you for the time you spent for me. I'm here to ask, and from your response, I'd like to learn. By my knowledge, I can help someone else, and "that someone" could help in turn another, and so on. /*--------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/ ALWAYS GOOD TO READ: #### Share this post ##### Link to post ##### Share on other sites @FrancescoDiMuro just for my understanding is there any reason for the global scope of $strSourceFileName

My video tutorials : HERE ( In construction )  || My Discord : https://discord.gg/S9AnwHw

How to Ask Help ||  UIAutomation From Junkew || WebDriver From Danp2 || And Water's UDFs in the Quote

Spoiler

Water's UDFs:
Active Directory (NEW 2018-10-19 - Version 1.4.10.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX (2018-10-31 - Version 1.3.4.1) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts
PowerPoint (2017-06-06 - Version 0.0.5.0) - Download - General Help & Support
Excel - Example Scripts - Wiki
Word - Wiki

Tutorials:

##### Share on other sites
2 minutes ago, caramen said:

is there any reason for the global scope of

How would you have declared it? It's not in a function, and other than the UDF functions, there aren't any in the snippet, so Global is the only reasonable declaration of it.

If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.
Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag Gude
How to ask questions the smart way!

I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from.

Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays.  -  ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script.  -  Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label.  -  _FileGetProperty - Retrieve the properties of a file  -  SciTE Toolbar - A toolbar demo for use with the SciTE editor  -  GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI.  -   Latin Square password generator

##### Share on other sites

@caramen
From Variables section in the Wiki:

Quote

For example, you can declare a variable as Global within a function - although you may get a gentle reminder when you run your script within SciTE that this is not recommended.
But there is no point declaring any variables in the main body of a script as Local - they will be Global regardless.

Spoiler

Thoughts:

• I will always thank you for the time you spent for me.
I'm here to ask, and from your response, I'd like to learn.
By my knowledge, I can help someone else, and "that someone" could help in turn another, and so on.

/*--------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/

##### Share on other sites
Posted (edited)

I should precise my question becose I know all these already, I mean why do you specify it s global there ?

Edit: If you remove the Global there everything will be fine right ?

Edited by caramen

My video tutorials : HERE ( In construction )  || My Discord : https://discord.gg/S9AnwHw

How to Ask Help ||  UIAutomation From Junkew || WebDriver From Danp2 || And Water's UDFs in the Quote

Spoiler

Water's UDFs:
Active Directory (NEW 2018-10-19 - Version 1.4.10.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX (2018-10-31 - Version 1.3.4.1) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts
PowerPoint (2017-06-06 - Version 0.0.5.0) - Download - General Help & Support
Excel - Example Scripts - Wiki
Word - Wiki

Tutorials:

##### Share on other sites

@caramen
If you read the link attached in the previous post, there is clearely stated:

Quote

But there is no point declaring any variables in the main body of a script as Local - they will be Global regardless.

Spoiler

Thoughts:

• I will always thank you for the time you spent for me.
I'm here to ask, and from your response, I'd like to learn.
By my knowledge, I can help someone else, and "that someone" could help in turn another, and so on.

/*--------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/

##### Share on other sites

So, you're asking why he's doing the right thing by declaring the variables, rather than which scope he's using?

Good coding practice tells you you should always declare your variables with the proper scope. Without the Global, he'd need a new line for all of the variables he's declaring, which in this case he is by using the continuation character, but didn't need to. It's true, that the variables would have been automatically declared in the global scope, but he's showing the proper method.

If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.
Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag Gude
How to ask questions the smart way!

I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from.

Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays.  -  ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script.  -  Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label.  -  _FileGetProperty - Retrieve the properties of a file  -  SciTE Toolbar - A toolbar demo for use with the SciTE editor  -  GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI.  -   Latin Square password generator

##### Share on other sites
Posted (edited)

😱Oh after my fourth watch of the code. Haha i missed the "_" Damn it ok i got it now. It is totaly more clear.

Edited by caramen

My video tutorials : HERE ( In construction )  || My Discord : https://discord.gg/S9AnwHw

How to Ask Help ||  UIAutomation From Junkew || WebDriver From Danp2 || And Water's UDFs in the Quote

Spoiler

Water's UDFs:
Active Directory (NEW 2018-10-19 - Version 1.4.10.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX (2018-10-31 - Version 1.3.4.1) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts
PowerPoint (2017-06-06 - Version 0.0.5.0) - Download - General Help & Support
Excel - Example Scripts - Wiki
Word - Wiki

Tutorials:

##### Share on other sites
Posted (edited)
On 3/11/2019 at 9:18 PM, dascondor said:

Example1= Text
Example2= Text2
Example3= Text3

Such a formatting makes me feel that using a .ini file - and Ini* funcs - could make the whole thing much easier
Something like this :

"source.ini" :
[source]
Text1= System
Text2= File
Text3= Documents

"file.txt" :
Text1 is Down
Text2 is located in Text3.

$sources = IniReadSection("source.ini", "source")$txt = FileRead("file.txt")
For $i = 1 to$sources[0][0]
$txt = StringReplace($txt, $sources[$i][0], $sources[$i][1])
Next
Msgbox(0,"", txt) and using several different sections in the .ini could allow various treatments Edited by mikell #### Share this post ##### Link to post ##### Share on other sites ## Create an account or sign in to comment You need to be a member in order to leave a comment ## Create an account Sign up for a new account in our community. It's easy! Register a new account ## Sign in Already have an account? Sign in here. Sign In Now • ### Similar Content • Good morning, I am trying to align a two-line text in a button so that it would be centered in the button but can't succeed to do it for the vertical part. Can someone tell me what I do wrong ? Here is my code:btn3 = GUICtrlCreateButton("Execute " & @LF & " file 1", 100, 65, 60, 50, _ BitOr($BS_CENTER,$BS_BOTTOM,$BS_MULTILINE)) and here is the resulting layout I get in my window. I tried to follow the help, made a lot of different parameter combinations (here it's $BS_BOTTOM, but I tried $BS_VCENTER and $BS_TOP), still get the same result : vertical alignement is a no go for me.
Can someone help ?
TIA
Gilles

• By rudi
Hello,
Either drag drop the opened file on the server and the temp file, Aut2Exe could not copy to the destination file, as that one is opened, to the edits of this GUI, or take the Aut2Exe error message line to your clipboard, the line will be split automatically.
This script does not check
For the required rights to the destination folder (to close open file handles) for correct input Use either clipboard (Aut2Exe message), drag & drop, or copy the full paths of source and destination file *IN ONE* (don't type, if you want to do so, modify the script, for me it's fine this way ;-)
Example Error Message:
!>11:19:15 Problem copying file from: C:\Users\UserName\AppData\Local\AutoIt v3\Aut2exe\~AU98E6.tmp.exe To :z:\MyAutoitExeForTheUsers.exe
#include <GUIConstantsEx.au3> #include <NetShare.au3> #include <WindowsConstants.au3> #include <Array.au3> #include <EditConstants.au3> ; Enumerate open files on the server $DragDropOpenFile = "<drag drop the opened file on a server share here>"$DragDropNewFile = "<drag drop the file supposed to replace the above one here>" $NewFile = ""$Gui_h = 250 $Gui_w = 800$vDist = 7 ; GUICreate($GuiTitle,$w, $h, @DesktopWidth -$w - 100, @DesktopHeight - $h - 60, -1,$WS_EX_ACCEPTFILES) ; generally enable drag-drop for files into other GUI controls $myGui = GUICreate("Tool to forcibly close & replace open files on server shares",$Gui_w, $Gui_h, 100, 100, -1,$WS_EX_ACCEPTFILES) $InputFileToClose = GUICtrlCreateInput($DragDropOpenFile, 20, $vDist,$Gui_w - 40, 20) GUICtrlSetState(-1, $GUI_DROPACCEPTED) ; allow drag-droping files for this control,$InputFile Opt("Guicoordmode", 2) $InputFileNew = GUICtrlCreateInput($DragDropNewFile, -1, $vDist) GUICtrlSetState(-1,$GUI_DROPACCEPTED) ; allow drag-droping files for this control, $InputFile GUICtrlSetState(-1,$GUI_DISABLE) $lServer = GUICtrlCreateLabel("<server>", -1,$vDist) $lShare = GUICtrlCreateLabel("<share-mapping>", -1,$vDist) $lPath = GUICtrlCreateLabel("<sub-path>", -1,$vDist) $lFile = GUICtrlCreateLabel("<file>", -1,$vDist) $doit = GUICtrlCreateButton("Search and close for open file handles", -1,$vDist) GUICtrlSetState(-1, $GUI_DISABLE)$exit = GUICtrlCreateButton("Cancel", -1, $vDist) GUISetState()$FN = False $FNnew = ""$FNmatch = False $ToolTitle = ""$ToolTxt = "" $RegExA2E = "(?i)^(?:.*?Problem copying file from: )(.*?)(?: To :)(.*$)" ; $1 = compiled local TEMP file,$2 = not replacable destination file ; Examle Replacement failed output: !>11:19:15 Problem copying file from: C:\Users\USERNAME\AppData\Local\AutoIt v3\Aut2exe\~AU98E6.tmp.exe To :z:\MyAutoitExeForTheUsers.exe While 1 $Clip = ClipGet() If StringRegExp($Clip, $RegExA2E) Then$Src = StringRegExpReplace($Clip,$RegExA2E, "$2") GUICtrlSetData($InputFileToClose, $Src)$Dst = StringRegExpReplace($Clip,$RegExA2E, "$1") GUICtrlSetData($InputFileNew, $Dst) EndIf$input = GUICtrlRead($InputFileToClose) If$input <> $DragDropOpenFile Then ; da wurde was reingezogen$DragDropOpenFile = $input If StringLeft($input, 2) = "\\" Then $Type = "UNC"$ServerShareUNC = StringLeft($input, StringInStr($input, "\", 0, 4) - 1) $fRelPathFN = StringReplace($input, $ServerShareUNC, "")$fPath = StringLeft($fRelPathFN, StringInStr($fRelPathFN, "\", 0, -1)) $FN = StringTrimLeft($fRelPathFN, StringInStr($fRelPathFN, "\", 0, -1)) ElseIf StringMid($input, 2, 1) = ":" Then ; Pfad mit Laufwerksbuchstabe, evtl. Netzwerk Mapping (erforderlich) $drive = StringLeft($input, 2) $Type = DriveGetType($drive) If $Type = "Network" Then$ServerShareUNC = DriveMapGet($drive)$foo = StringReplace($input,$drive, $ServerShareUNC) ; Laufwerkspfad in UNC Pfad umwandeln$fRelPathFN = StringReplace($foo,$ServerShareUNC, "") $fPath = StringLeft($fRelPathFN, StringInStr($fRelPathFN, "\", 0, -1))$FN = StringTrimLeft($fRelPathFN, StringInStr($fRelPathFN, "\", 0, -1)) Else MsgBox(48, @ScriptLineNumber, "This script can *ONLY* close remotely handles for files open on server shares!" & @CRLF & _ $input & @CRLF & _$drive & " = " & $Type) ContinueLoop 2 EndIf EndIf$Server = StringLeft($ServerShareUNC, StringInStr($ServerShareUNC, "\", 0, 3) - 1) $Share = StringTrimLeft($ServerShareUNC, StringInStr($ServerShareUNC, "\", 0, 3) - 1) GUICtrlSetData($lServer,"Server = '" & $Server& "'") GUICtrlSetData($lShare, "Mapping = '" & $Share & "'") GUICtrlSetData($lPath, "SubPath = '" &$fPath & "'") GUICtrlSetData($lFile, "FileName= '" & $FN &"'") GUICtrlSetState($doit, $GUI_ENABLE) GUICtrlSetState($InputFileNew, $GUI_ENABLE) EndIf If$NewFile <> GUICtrlRead($InputFileNew) Then$NewFile = GUICtrlRead($InputFileNew) If$NewFile <> $DragDropNewFile Then If StringInStr($NewFile, $DragDropNewFile) Then$NewFile = StringReplace($NewFile,$DragDropNewFile, "") GUICtrlSetData($InputFileNew,$NewFile) EndIf $FNnew = StringTrimLeft($NewFile, StringInStr($NewFile, "\", 0, -1)) If$FN = $FNnew Then If$FNmatch = False Then $FNmatch = True GUICtrlSetData($doit, "Search for & Close open file handles, then replace file") EndIf Else If $FNmatch Then$FNmatch = False GUICtrlSetData($doit, "Search for & Close open file handles, then replace file") GUICtrlSetData($InputFileNew, $DragDropNewFile) EndIf EndIf EndIf EndIf Switch GUIGetMsg() Case$exit, $GUI_EVENT_CLOSE GUIDelete($myGui) Exit Case $doit AbArbeiten($Server, $Share,$fPath, $FN) EndSwitch WEnd Func AbArbeiten($_Srv, $_Shr,$_fPth, $_fNme) Local$iID = 0 Local $iRights = 1 Local$iLckCount = 2 Local $iFPFN = 3 Local$iUser = 4 ConsoleWrite($_fPth &$_fNme & @CRLF) Local $aFile = _Net_Share_FileEnum($_Srv) If IsArray($aFile) Then ; _ArrayDisplay($aFile) Local $x$ToolTxt = "Open File Handles:" $ToolTitle = "Handles to be checked total: " &$aFile[0][0] UpdateToolTip() AdlibRegister(UpdateToolTip, 1000) For $x =$aFile[0][0] To 1 Step -1 $ToolTitle =$x & " handles remaining for checking..." If Not StringInStr($aFile[$x][$iFPFN],$_fPth & $_fNme) Then ; ConsoleWrite("Nix Enthalten in: " &$aFile[$x][$iFPFN] & @CRLF) _ArrayDelete($aFile,$x) Else $ToolTxt &= @CRLF &$aFile[$x][$iFPFN] & ", User = " & $aFile[$x][$iUser] ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') :$ToolTxt = ' & $ToolTxt & @CRLF & '>Error code: ' & @error & @CRLF) ;### Debug Console EndIf Next$aFile[0][0] = UBound($aFile) - 1 _ArraySort($aFile, 0, 1, 0, $iUser) ; _ArrayDisplay($aFile, $aFile[0][0] & " FileLocks found.") If$aFile[0][0] = 0 Then $ToolTitle = "Done, no open file handles were found"$ToolTxt &= @CRLF & ", no handles to be closed for this file!" Sleep(2000) $ToolTxt = "" ReplaceFile() Else$ToolTitle = $aFile[0][0] & " open file handles were found..."$CloseErr = 0 For $x = 1 To$aFile[0][0] If _Net_Share_FileClose($Server,$aFile[$x][$iID]) Then $ToolTxt &= @CRLF & @TAB & "Handle closed: " &$aFile[$x][$iID] Else $ToolTxt &= @CRLF & "ERROR: Handle Close Failed! --> " &$aFile[$x][$iFPFN] & ", User = " & $aFile[$x][$iUser]$CloseErr += 1 EndIf Next ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $CloseErr = ' &$CloseErr & @CRLF & '>Error code: ' & @error & @CRLF) ;### Debug Console If $CloseErr = 0 Then$ToolTitle = "All found open file handles could be closed." ReplaceFile() Else $ToolTitle =$CloseErr & " Handles could *NOT* be closed!" Sleep(2000) EndIf Sleep(1000) $ToolTxt = ""$ToolTitle = "" EndIf Else MsgBox(0, "not an array", $aFile & @CRLF & @error & @CRLF & @extended & @CRLF & _ "Unable to retrieve the array of open file handles for " &$Share) EndIf EndFunc ;==>AbArbeiten Func UpdateToolTip() ToolTip($ToolTxt, MouseGetPos(0) + 20, MouseGetPos(1) + 20,$ToolTitle) ; ConsoleWrite( $ToolTxt & @CRLF &$ToolTitle & @CRLF & "-------------------" & @CRLF) EndFunc ;==>UpdateToolTip Func ReplaceFile() If FileExists($NewFile) Then If FileCopy($NewFile, $input, 1 + 8) Then$ToolTitle = "File successfully replaced." $ToolTxt = "Done" Else$ToolTitle = "File could *NOT* be replaced." $ToolTxt = "Possibly another open file handle spawned while this script was running." & @CRLF & _ "Simply start over again, please." MsgBox(48,$ToolTitle, $ToolTxt) EndIf EndIf EndFunc ;==>ReplaceFile • By Pike Hey Everyone, I haven't been here in a while and recently picked up my old project. Still an FNG! To the point: I want to be able to push the button and either play an mp3, open a file, or open an exe program (all with the same button). The problem is that I don't know how to code for that at "case 1" Case 1 Local$sRead = IniRead("config.ini", "Config", "One", "Default")
SoundPlay($sRead, @HotKeyPressed) <------------------------------- Run($sRead, @HotKeyPressed)                                                                                 <------------------------------- This 'Run' doesn't work even by itself!
See code below for layout. If you need more information I will attach more code or answer any questions. Any help is greatly appreciated.

Much Respect,
Pike

Func _HandleButton() $iClickCount += 1$iTimer = TimerInit() AdlibRegister("CheckButtonPress", $CheckTime) EndFunc Func CheckButtonPress() If TimerDiff($iTimer) < $CheckTime Or$iTimer = 0 Then Return Switch $iClickCount Case 1 Local$sRead = IniRead("config.ini", "Config", "One", "Default") SoundPlay($sRead, @HotKeyPressed) Run($sRead, @HotKeyPressed) Case 2 MsgBox(0, "INFORMATION:", "Choose the file you want designated to this button") Local $sFileOpenDialog = FileOpenDialog(0, @ScriptDir & "\", "All (*.*)",$FD_FILEMUSTEXIST + $FD_MULTISELECT) If @error Then MsgBox($MB_SYSTEMMODAL, "", "No file(s) were selected.") EndIf Local $sFileName = InputBox("INFORMATION:", "Please Name Your File?" & @CRLF _ & @CRLF _ & "6 Characters or Less", "") IniWrite(@ScriptDir & "\config.ini", "Config", "One",$sFileOpenDialog) IniWrite(@ScriptDir & "\config.ini", "Config", "NameOne", $sFileName) EndSwitch$iClickCount = 0 AdlibUnRegister() EndFunc

• By misioooo
Hi!

I am writing some GUI and i need to use images as buttons, but with text on them (text is from INI file).
Part with button looks like this:
$ankieta1 = GUICtrlCreateButton($txtAnk1, 100,350,765,164) GUICtrlSetFont(-1, 22, 800, -1, "Arial") ;GUICtrlSetColor(-1,0xffffff) $hImageBtn_1 = _GUIImageList_Create(765, 164) _GUIImageList_AddBitmap($hImageBtn_1, "c:\path\to\ankieta_clean.bmp") _GUICtrlButton_SetImageList($ankieta1,$hImageBtn_1, 4) GUICtrlSetOnEvent(-1, "On_Ankieta1") The problem - if i uncomment GUICtrlSetColor, color of text changes, but button is just plain gray (no image). How i can change text color not touching image on a button here?
• By vin1
i have a script that selects  a text file and deletes a line (text input required) in the text file selected
i have to make it remove all lines found on a file i name, toRemoveLines.txt
it has to remove lines from all text files found in a folder
this is the script that has to be modified
where it says "select file" it has to be "select folder"
where it says "line text input" it has to be all lines from a text file
#Include <File.au3> Global $success = False$file_name = FileOpenDialog("Select file", @ScriptDir, "All files (*.*)", 1+4) $line_text_input = InputBox("Line's text", "Line must contain following text:", "line contains this text")$file_count_lines = _FileCountLines($file_name) for$i = 0 to $file_count_lines$Lines_text_output = FileReadLine($file_name,$i) if StringInStr($Lines_text_output,$line_text_input) then _FileWriteToLine($file_name,$i, "", 1) $success = True ExitLoop EndIf Next if$success = True Then MsgBox(0, "Success", "Line has been deleted") Else MsgBox(0, "Failure", "Line wasn't found") EndIf
×

• Wiki

• Back

• #### Beta

• Git
• FAQ
• Our Picks
×
• Create New...