Author Topic: Работа с текстом. Переменная в тексте.  (Read 4017 times)

0 Members and 1 Guest are viewing this topic.

Крис Тинка

  • Активный участник
  • ***
  • Posts: 171
    • View Profile
Попросили сделать скрипт, чтобы записанный скрипт через ALT+R работал в оконном режиме.
Сделала такой скрипт, который переписывает текст из одного файла в другой и меняет в нем координаты
Code: (clickermann) [Select]
// Коррекция записанных координат под оконный режим
#name "Корректор"
//--------------------------------
// Разница координат
$x_cor = 0
$y_cor = -243
//--------------------------------
$K_SPEED = "$K_SPEED"
TFClear("cor.txt")
TFWrite("cor.txt", TFREAD("rec.txt", 1))
TFDELETE ("rec.txt", 1)
TFWrite("cor.txt", "$K_SPEED = 4  // Delay multiplier")
TFDELETE ("rec.txt", 1)
WHILE(TFCOUNT("rec.txt") > 0)
   $a = TFREAD("rec.txt", 1)
   IF(STRPOS ($a, ",") > 0)
      $b1 = INT(STRCUT2 ($a, (STRPOS ($a, "(") + 1), (STRPOS ($a, ",") - 1)))
      $b2 = INT(STRCUT2 ($a, (STRPOS ($a, ",") + 1), (STRPOS ($a, ")") - 1)))
      $a = STRREPLACE($a, $b1, $b1 - $x_cor)
      $a = STRREPLACE($a, $b2, $b2 - $y_cor)
      TFWrite("cor.txt", $a )
   ELSE
      TFWrite("cor.txt", $a )
   END_IF
   TFDELETE ("rec.txt", 1)
END_CYC
$dialog = dialogbox("Координаты переписаны", 0, 4)
HALT
Принцип работы такой:
Записанный скрипт сохраняем в файле "rec.txt", скрипт переписывает все в файл "cor.txt", прибавляя ко всем координатам $x_cor,  $y_cor.
Все хорошо, только в файле "cor.txt" переменная $K_SPEED отображается в кавычках. Если убрать строку $K_SPEED = "$K_SPEED" , то вместо $K_SPEED будут нули. Как дать понять кликерманну, что $K_SPEED - это текст?
« Last Edit: January 27, 2014, 08:59:21 PM by Крис Тинка »

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Работа с текстом. Переменная в тексте.
« Reply #1 on: January 27, 2014, 09:16:07 PM »
Кристинка как всегда все усложняет...  :)

1. Записываем скрипт.
2. Сохраняем его в "rec.cms" рядом со скриптом "Корректор.cms"
3. Запускаем "Корректор.cms"
4. Получаем скорректированный скрипт

Code: (clickermann) [Select]
// Коррекция записанных координат под оконный режим
#name "Корректор"
//--------------------------------
// Разница координат
$x_cor = 0
$y_cor = -243
//--------------------------------

WHILE(TFCOUNT("rec.cms") > $str)
   INC($str,1)
   $a = TFREAD("rec.cms", $str)
   IF(STRPOS ($a, ",") > 0)
      $b1 = INT(STRCUT2 ($a, (STRPOS ($a, "(") + 1), (STRPOS ($a, ",") - 1)))
      $b2 = INT(STRCUT2 ($a, (STRPOS ($a, ",") + 1), (STRPOS ($a, ")") - 1)))
      $a = STRREPLACE($a, $b1, $b1 + $x_cor)
      $a = STRREPLACE($a, $b2, $b2 + $y_cor)
      TFDELETE ("rec.cms", $str)
      TFWrite("rec.cms", $a, $str)
   END_IF
END_CYC
$dialog = dialogbox("Координаты переписаны", 0, 4)
HALT

Крис Тинка

  • Активный участник
  • ***
  • Posts: 171
    • View Profile
Re: Работа с текстом. Переменная в тексте.
« Reply #2 on: January 27, 2014, 09:24:58 PM »
Андрей, как всегда все упрощает))) Спасибо!