Forum AmigaOne Zone https://forum.amigaone.pl/ |
|
Wczytywanie liczby z pliku https://forum.amigaone.pl/programowanie-f13/wczytywanie-liczby-z-pliku-t973.html |
Strona 1 z 1 |
Autor: | Mufa [ poniedziałek, 13 mar 2017, 19:40 ] |
Tytuł: | Wczytywanie liczby z pliku |
Jako że programista ze mnie żaden, to mam takie lamerskie pytanko, chodzi mi o wczytanie wartości zapisanej w pliku tekstowym. Normalnie w Hollywood gdy chce się dodać do zera jeden wpisuje się coś takiego: Kod: wynik = 0 wynik = Add(wynik, 1) No i uzyskujemy sumę 1 Teraz chciałbym też uzyskać sumę 1, tyle że nie chcę jej wpisywać manualnie, a chcę ją pobrać z pliku tekstowego. No więc mam plik tekstowy, zawierający jeden znak, cyfrę "1", zapisany jako ram:1.txt Coś takiego jak poniżej nie działa: Kod: wynik = 0
wynik = OpenFile(1,"ram:1.txt") |
Autor: | Hextreme [ wtorek, 14 mar 2017, 08:07 ] |
Tytuł: | Re: Wczytywanie liczby z pliku |
Poczytałem manual do Hollywoodu, bo nigdy nie miałem z nim styczności. Wygląda na to, że można to zapisać w następujący sposób: Kod: OpenFile(1, "RAM:1.txt") ; Otwieramy plik RAM:1.txt i przypisujemy do identyfikatora 1 ciag$ = ReadString(1, 1) ; Pobieramy jednoznakowy ciąg z pliku liczba = ToNumber(ciag$) ; Konwertujemy ciąg na liczbę wynik = 0 wynik = Add(wynik, liczba) CloseFile(1) Jeśli liczba, którą chcesz wczytać jest dłuższa niż jeden znak to trzeba zmodyfikować linijkę zawierającą ReadString(). |
Autor: | Mufa [ wtorek, 14 mar 2017, 09:19 ] |
Tytuł: | Re: Wczytywanie liczby z pliku |
Dziękuję, wrócę z pracy to sprawdzę czy metoda działa. Edit: Działa jak trzeba, jeszcze raz dzięki |
Autor: | Mufa [ poniedziałek, 27 mar 2017, 15:07 ] |
Tytuł: | Re: Wczytywanie liczby z pliku |
Tak jeszcze dopytam przy okazji, bo choć wczytywanie liczby z pliku dużo mi pomogło i w zasadzie szkielet projektu, który sobie założyłem działa jak trzeba, to mógłbym go lekko usprawnić. W tym celu potrzebuję jednak działania w drugą stronę. Czyli zamiast odczytu danej wartości z pliku tekstowego, chciałbym ją tam zapisać. Przykładowo plik 1.txt zawiera w sobie jeden znak "0" a ja chciałbym go zmienić na "1". Hextreme, dasz radę podać przepis jak to zrobić w Hollywood |
Autor: | Hextreme [ czwartek, 30 mar 2017, 14:50 ] |
Tytuł: | Re: Wczytywanie liczby z pliku |
Mufa napisał(a): Hextreme, dasz radę podać przepis jak to zrobić w Hollywood Musiałbym jeszcze raz spojrzeć do instrukcji w necie. Ja sam nie widziałem programu Hollywood na oczy. Pomogłem wcześniej, bo dość łatwo przyswajam wiedzę z zakresu języków programowania. Mam nadzieję, że po ostatnim grupowym zakupie Hollywood grono osób, które będą mogły Ci pomóc w zakresie pisania w Hollywood się znacznie powiększy. Może spróbuję podpowiedzieć. Myślę, że dalej sobie poradzisz. Wczytanie liczby z pliku już masz. Zatem zastosuj tę procedurę do odczytania liczby z pliku 1.txt. Następnie zwiększ liczbę o 1, czyli dodaj jedynkę do odpowiedniej zmiennej. Na koniec przekonwertuj liczbę na ciąg i zapisz do pliku. Jeśli jednak będziesz miał dalej problem, to daj znać. |
Autor: | Mufa [ czwartek, 30 mar 2017, 18:46 ] |
Tytuł: | Re: Wczytywanie liczby z pliku |
Wiem że programista sobie taką dokumentację łatwo przyswaja, dlatego pytam Ciebie, bo dla "nie programisty" to niestety te 900 stron dokumentacji to w większości czarna magia. Piszesz o przekonwertowaniu na ciąg, czyli zamiast Readstring (1,1) miałbym wklepać Savestring (1,1) a potem coś w stylu save to Ram:1.txt |
Autor: | Hextreme [ czwartek, 30 mar 2017, 19:32 ] |
Tytuł: | Re: Wczytywanie liczby z pliku |
Mufa napisał(a): Wiem że programista sobie taką dokumentację łatwo przyswaja, dlatego pytam Ciebie, bo dla "nie programisty" to niestety te 900 stron dokumentacji to w większości czarna magia. Piszesz o przekonwertowaniu na ciąg, czyli zamiast Readstring (1,1) miałbym wklepać Savestring (1,1) a potem coś w stylu save to Ram:1.txt Zauważ, że polecenie: Kod: liczba = ToNumber(ciag$) konwertuje ciąg tekstowy do liczby. Analogicznie funkcja Kod: ciag$ = ToString(liczba) przekonwertuje liczbę na ciąg tekstowy. Z kolei Kod: WriteString(1, ciag$) zapisuje ciąg tekstowy ciag$ do pliku o numerze 1. Jeszcze pozostaje otwarcie pliku z trybem do zapisu: Kod: OpenFile(1, "RAM:1.txt", #MODE_WRITE) Zbierając to teraz do kupy. Najpierw trzeba wczytać liczbę z pliku. Kopiuję kod z wcześniejszego postu: Kod: OpenFile(1, "RAM:1.txt") ; Otwieramy plik RAM:1.txt i przypisujemy do identyfikatora 1 ciag$ = ReadString(1, 1) ; Pobieramy jednoznakowy ciąg z pliku liczba = ToNumber(ciag$) ; Konwertujemy ciąg na liczbę wynik = 0 wynik = Add(wynik, liczba) CloseFile(1) W tym momencie w zmiennej wynik jest liczba (cyfra) wczytana z pliku RAM:1.txt. Musimy dodać jeden, przekonwertować z powrotem do ciągu, otworzyć plik do zapisu i zapisać ciąg: Kod: wynik = Add(wynik, 1)
ciag$ = ToString(wynik) OpenFile(1, "RAM:1.txt", #MODE_WRITE) WriteString(1, ciag$) CloseFile(1) |
Autor: | Mufa [ poniedziałek, 3 kwi 2017, 17:10 ] |
Tytuł: | Re: Wczytywanie liczby z pliku |
Kod działa jak trzeba Kolejny raz dziękuję za pomoc |
Strona 1 z 1 | Strefa czasowa: UTC + 1 |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |