2014-09-25 3 views
0

У меня есть текстовый файл с каждой записью, имеющей значение данных, и мне нужно сгенерировать текстовый файл, который должен иметь каждую из исходных записей и новых записей с изменением знака значения данных. Входной файл с записями выглядеть следующим образом (труба разделитель, значение данных всегда пятое поле):изменение текстового файла с помощью скрипта vb

abc|xyz|a|ab_1|100 
abs|pqr|d|ab3|-200 

Вывод должен быть:

abc|xyz|a|ab_1|100 
abc|xyz|a|ab_1|-100 
abs|pqr|d|ab3|-200 
abs|pqr|d|ab3|+200 
+1

насколько это срочно? есть ли какое-либо другое требование? должен ли он быть vbscript или мы можем предоставить вам решение на каком-то другом языке? –

+0

Привет .. спасибо за ответ. Я должен использовать только скрипт VB. У меня есть идея и, надеюсь, я смогу разработать код, если не вернусь сюда, прося о помощи :). Также мне нужно отсортировать выходной файл на основе некоторого поля из файла. как это можно достичь (используя только VB). Спасибо за помощь и время ура – Sharma

+0

Спасибо @bond nd horner ... Я разработал исходный код ... хотя все еще нужно проверить выполнение. надеюсь, это сработает. Кроме того, вы можете предоставить код vbs (только для VB), чтобы преобразовать файл .txt в файл .csv .txt, может быть разделен пробелом или запятой. – Sharma

ответ

1

План:

  1. .OpenTextFile() input
  2. .CreateTextFile output
  3. До ввода .AtEndOfStream
  4. ---- .ReadLine от ввода и .WriteLine для вывода
  5. ---- .Split on | в массив 5 элементов
  6. ---- CInt() elm 4 и умножить на -1
  7. ---- Объединить массив с |
  8. ---- .WriteLine к выходу
  9. Закрыть оба файла

Используйте docs для поиска функций, таких как CInt() и Split() и объекты, как FileSystemObject и TextStream и методы их OpenTextFile(), .ReadLine(), ...

+0

Хороший план. И обратите внимание, @Sharma, что шаги с 4 по 8 входят в ваш цикл чтения (созданный на шаге 3). Шаг 9 находится за пределами цикла, после того как вы закончите читать весь файл. – Bond

+0

@Bond - спасибо, что заставил меня увидеть отсутствующий свет/пробелы –

+0

@bond Привет, я могу выполнить большинство задач. Теперь для меня проблема в том, как преобразовать значение переменной в float и умножить на -1. Я попробовал CInt, но все еще его ошибка несоответствия типа ввода. приветствует – Sharma

Смежные вопросы