1

Тема: Работа с файлом

Доброго времени суток!

Подскажите, как можно реализовать (желательно подскажите кодом) следующую функцию:
В текстовый файл записываем имена игроков вида Имя_Фамилия. На каждой строке новый ник. Скриптом вызываем этот файл и пишем ник. Скрипт проверяет, есть ли указанный ник в этом файле.

Буду очень признателен.

2 (изменено: Indomito, 2016-06-16 03:39:41)

Re: Работа с файлом

Думаю подойдёт обычный INI-файл.

Нужен пример для записи имён игроков... непонятно.

записываем имена игроков вида Имя_Фамилия

Имя_Фамилия без/с разделителей.

  1. Иван_Иванов

  2. Иван,Иванов

P.S. С разделителем "," проще и нагляднее, хотя можно и с разделителем "_".

"На каждое действие есть равная ему противодействующая критика." Постулат Харриссона
OS Windows 7 x64
AutoHotkey v1.1.32.00 - November 24, 2019
Click to Download

3 (изменено: Indomito, 2016-06-16 04:51:09)

Re: Работа с файлом

1. Код, с чтением и выводом - поиск по массиву сделать не сложно будет.

+ Код
cComma     := ","
IniRead, Nick, C:\AHK\Add\test1.ini, Nick
IniRead, Name, C:\AHK\Add\test1.ini, Name
IniRead, Family, C:\AHK\Add\test1.ini, Family
arNickNameFamily := []

  Loop, parse, Nick, %cComma%
      arNickNameFamily[A_Index,1] := A_LoopField
  Loop, parse, Name, %cComma%
      arNickNameFamily[A_Index,2] := A_LoopField
  Loop, parse, Family, %cComma%
      arNickNameFamily[A_Index,3] := A_LoopField

MaxIndex := arNickNameFamily.MaxIndex()
Loop %MaxIndex%
  {
    Nick    := arNickNameFamily[A_Index,1]
    Name    := arNickNameFamily[A_Index,2]
    Family  := arNickNameFamily[A_Index,3]
    MsgBox %A_Index% = %Nick%  %Name%  %Family%
  }

2. Пример INI-файла


[Nick]
sasa,tata

[Name]
Саша,Таня

[Family]

Иванов,Сидорова

P.S. Пробелы, перевод строки, табуляция не рассматривается - INI создаётся самой программой.

"На каждое действие есть равная ему противодействующая критика." Постулат Харриссона
OS Windows 7 x64
AutoHotkey v1.1.32.00 - November 24, 2019
Click to Download

4

Re: Работа с файлом

Да все что-то не то. Можно и с ini-файлом, не проблема. Но ники в файл будут записываться формата Имя_Фамилия (например: Petr_Ivanov).
Буду выводить скрипт что-то типо такого:

ник = (тут мы вводим ник который хотим искать)
if ник в файле есть
{
	Ник есть.
}
else
{
	Все чисто и ника нет. 
}

5

Re: Работа с файлом

FileAppend, Имя_Фамилия`nИмя_Фамилия1`nИмя_Фамилия2`n, file.txt
FileRead, var, file.txt
newvar := "Имя_Фамилия3"
If RegexMatch(var, "(^|\R)\Q" newvar "\E(\R|$)")
   msgbox есть
else
   msgbox нет

6

Re: Работа с файлом

Malcev
Благодарю!