Ajuda com FileRead

Tire suas dúvidas sobre programação em AutoHotkey

Moderator: Gio

Lazyyy
Posts: 55
Joined: 27 Jan 2020, 21:56

Ajuda com FileRead

04 Jul 2020, 03:49

Bom dia, fiz um script básico pra detectar algumas palavras num arquivo .txt e mostrar com FileAppend, porém, não consigo pular linhas direto do arquivo .txt, se eu fizer isso, o script aperta enter na hora de criar o conteúdo do arquivo lido

Code: Select all

FileRead, CONTEUDO_DO_ARQUIVO, %A_WorkingDir%/movimentosdisponiveis.txt
StringSplit, CONTEUDO_DO_ARQUIVO_, CONTEUDO_DO_ARQUIVO, |

FileAppend, MOVIMENTOS 1 = (%CONTEUDO_DO_ARQUIVO_1%) E (%CONTEUDO_DO_ARQUIVO_2%) `r, %A_WorkingDir%/movimentos1.txt

FileAppend, MOVIMENTOS 2 = (%CONTEUDO_DO_ARQUIVO_3%) E (%CONTEUDO_DO_ARQUIVO_4%) `r , %A_WorkingDir%/movimentos2.txt

FileAppend, MOVIMENTOS 3 = (%CONTEUDO_DO_ARQUIVO_5%) E (%CONTEUDO_DO_ARQUIVO_6%) `r , %A_WorkingDir%/movimentos3.txt
Return
O conteúdo do meu arquivo .txt é o seguinte:

Code: Select all

pular|agachar|
ataque|defesa|
resistencia|dano|
Quero manter eles como estão, pois, se eu não pular linhas, fica um pouco complicado para ler. Alguém sabe como posso fazer pra manter o conteúdo do arquivo .txt assim e ao mesmo tempo fazer com que o FileAppend não pule linhas?
User avatar
Hologram
Posts: 140
Joined: 06 May 2020, 16:47

Re: Ajuda com FileRead

04 Jul 2020, 19:49

@Lazyyy Tenta adicionar os espaços como linha de comentario, em cada inicio de linha em branco adiciona " ; "
Discord: Npc Bugado#9074



local config = {
delrey = getPlayerCarValue(cid, DELREY),
cigarro = getPlayerCancer(cid, DERBY),
prostituta = getPlayerAIDS(cid, cracuda),
tresOitao = getPlayerRevorvi(cid, 38)
}
if(delrey == "Ligado" and cigarro == "Aceso" and prostituta == "No Colo" and tresOitao == "Carregado") then
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Começou o fim de semana. #PAS")
end


Lazyyy
Posts: 55
Joined: 27 Jan 2020, 21:56

Re: Ajuda com FileRead

07 Jul 2020, 08:20

Hologram wrote:
04 Jul 2020, 19:49
@Lazyyy Tenta adicionar os espaços como linha de comentario, em cada inicio de linha em branco adiciona " ; "
Não entendi, eu devo adicionar isso no arquivo .txt? Pq eu queria que o arquivo .txt ficasse exatamente como está e o script conseguisse ler e exibi-lo sem pular as linhas
User avatar
Gio
Posts: 1247
Joined: 30 Sep 2013, 10:54
Location: Brazil

Re: Ajuda com FileRead

07 Jul 2020, 18:01

Boa noite Lazyyy.

Pelo que entendi o problema é que você está separando o conteúdo do arquivo inteiro somente pelo símbolo | e nisso não está considerando que o arquivo já contém múltiplas linhas, de forma que os campos estão sendo criados com os linefeeds da linhas intactos. Sendo assim, o primeiro campo, por exemplo, conteria pular e o segundo conteria agachar, mas o terceiro campo contería um linefeed seguido de ataque (ou seja, teria "um enter" antes da palavra ataque).

:arrow: Remova os caracteres de linefeed do conteúdo do arquivo ANTES de separar pelos símbolo | OU separe o conteúdo por linha e DEPOIS separe linha a linha pelo símbolo |.

Exemplo:

Code: Select all

FileRead, CONTEUDO_DO_ARQUIVO, %A_WorkingDir%/movimentosdisponiveis.txt

StringReplace, CONTEUDO_DO_ARQUIVO, CONTEUDO_DO_ARQUIVO, `n,, All ; Primeiro removemos os linefeeds do conteúdo que foi lido do arquivo.

StringSplit, CONTEUDO_DO_ARQUIVO_, CONTEUDO_DO_ARQUIVO, |

FileAppend, MOVIMENTOS 1 = (%CONTEUDO_DO_ARQUIVO_1%) E (%CONTEUDO_DO_ARQUIVO_2%) `r, %A_WorkingDir%/movimentos1.txt

FileAppend, MOVIMENTOS 2 = (%CONTEUDO_DO_ARQUIVO_3%) E (%CONTEUDO_DO_ARQUIVO_4%) `r , %A_WorkingDir%/movimentos2.txt

FileAppend, MOVIMENTOS 3 = (%CONTEUDO_DO_ARQUIVO_5%) E (%CONTEUDO_DO_ARQUIVO_6%) `r , %A_WorkingDir%/movimentos3.txt
Return

Return to “Ajuda e Suporte Geral”

Who is online

Users browsing this forum: No registered users and 48 guests