mojaSymfonia FORUM https://forum.mix-soft.pl/ |
|
Import z pliku tekstowego do HMP https://forum.mix-soft.pl/viewtopic.php?f=15&t=8127 |
Strona 1 z 1 |
Autor: | browser123 [ 2017-10-13, 09:08 ] |
Tytuł: | Import z pliku tekstowego do HMP |
Witam, Próbuję zaimportować do bufora sprzedaży zamówienie z pliku tekstowego w którym separatorem jest | Za pomocą polecenia wyciągam dane z kolejnych linii: find regular "^{*}/|{*}/|{*}/|{*}/|{*}/|{*}/|{*}/|{*}/|{*}/|{*}/|{*}/|{*}$" sNazwa = regular 1 Zakres dopuszczalny to 9. Nie potrafię znaleźć sposobu by doczytać dane znajdujące się za 9 polem. Będę wdzięczny za pomoc. |
Autor: | Mustrum [ 2017-10-13, 12:20 ] |
Tytuł: | Re: Import z pliku tekstowego do HMP |
Polecam w takim przypadku odczyt pól jeden po drugim i usuwanie ich w trakcie. Coś w rodzaju: Kod: string sub GibCSVFieldPlz(string line, string separatorReg, int fieldNumber) string oldBuf = buf buf = line int ite string found while (found = find regular "?+" + separatorReg) ite += 1 if ite == fieldNumber then GibCSVFieldPlz = found exit else delete found endif wend ite += 1 if ite == fieldNumber then GibCSVFieldPlz = buf endif buf = oldBuf endsub string pole = GibCSVFieldPlz(linia, "/|", 10) (Mogą być błędy, gdyż piszę z komórki.) Można sobie też pola zapisywać na bieżąco do tablicy aby oszczędzić czas, jeżeli używasz wszystkich pól. |
Autor: | rafal [ 2017-10-13, 16:16 ] |
Tytuł: | Re: Import z pliku tekstowego do HMP |
Czytasz po kolei Kod: buf="A1|A2|A3|A4|A5|A6|A7|A8|A9|A10|A11|A12|A13" while find regular "{*}[|]-" print (regular 1),lf wend lub pobierasz z konkretnego pola z linii pliku Kod: string Sub GetElem(string sAll,int ElNum) int iLicz buf = sAll + "|" while find regular "{*}[|]-" iLicz += 1 if iLicz == ElNum then GetElem = regular 1 wend endsub print GetElem("A1|A2|A3|A4|A5|A6|A7|A8|A9|A10|A11|A12|A13",4) |
Strona 1 z 1 | Strefa czasowa UTC+1godz. [letni] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |