mojaSymfonia FORUM
https://forum.mix-soft.pl/

Cechy globalne w symfonia handel
https://forum.mix-soft.pl/viewtopic.php?f=15&t=7946
Strona 1 z 1

Autor:  arnoldinho [ 2017-06-06, 12:34 ]
Tytuł:  Cechy globalne w symfonia handel

W swojej przygodzie z symfonią natrafiłem na kolejną zagwozdkę.Szukam w symfonii Handel czegoś na kształt cechy globalnej w enovie. Mam na myśli dane zapisywane w jakiejś osobnej tabeli z dostępem z dowolnego miejsca w programie. Np. chciałbym zrobić pola: "user", "password" i zapisać do nich dane użytkownika do logowania w innym serwisie.

Czy jest to możliwe w symfonii handel? Jak można się odwołać do takich pól w AMBasicu?

Autor:  rafal [ 2017-06-06, 12:42 ]
Tytuł:  Re: Cechy globalne w symfonia handel

Możesz zrobić dowolną zewnętrzną bazę danych. Zaczynając od plików tekstowych przez plików INI, po bazy Accesowe, SQL.
Możesz dodać tabelkę do bazy Symfonii pod Pervasivem i dostawać się przez ODBC.
Dane z tych tabelek możesz w prosty sposób także dodać na wydruku np:. Faktur czy dokumentów magazynowych.

Autor:  Mustrum [ 2017-06-07, 09:10 ]
Tytuł:  Re: Cechy globalne w symfonia handel

Jeśli szukasz czegoś prostszego i dostęp w obrębie pojedynczego modułu (Handel, FK etc) ci wystarczy, mozesz użyć gotowych funkcji PutIni i GetIni.

Ich opis znajdziesz na:
http://pomoc.sage.com.pl/Help/ambasic

Autor:  arnoldinho [ 2017-06-08, 10:38 ]
Tytuł:  Re: Cechy globalne w symfonia handel

Próbowałem już tej funkcji PutIni
Kod:
//Utworzenie pliku inicjującego ambas.ini, jego pierwszej sekcji i wpisanie wartości pierwszego wejścia
PutIni ("Sekcja1","Wejscie11","Wartosc11","ambas.ini")
//Wpisanie wartosci kolejnych wejść pierwszej sekcji
PutIni ("Sekcja1","Wejscie12","Wartosc12","ambas.ini")
PutIni ("Sekcja1","Wejscie13","Wartosc13","ambas.ini")
PutIni ("Sekcja1","Wejscie14","Wartosc14","ambas.ini")
PutIni ("Sekcja1","Wejscie15","Wartosc15","ambas.ini")
PutIni ("Sekcja1","Wejscie16","Wartosc16","ambas.ini")
PutIni ("Sekcja1","Wejscie17","Wartosc17","ambas.ini")
//Utworzenie drugiej sekcji pliku inicjujacego i wpisanie jego wartości
PutIni ("Sekcja2","Wejscie21","Wartosc21","ambas.ini")
//Odczyt wartości piątego wejscia pierwszej sekcji pliku inicjującego
String Wejscie = GetIni ("Sekcja1","Wejscie15","ambas.ini")
//Zdefiniowanie i wyświetlenie okna dialogowego z wynikiem
Form "Wynik użycia polecenia GetIni", 500, 300
Ground 0,255,0
Button "O&K", 100, 220, 100, 24, -1
Text "Składnia polecenia: GetIni (Sekcja1,Wejscie15,ambas.ini)", 10, 20, 480, 24
Edit "Wejście15 = ", Wejscie, 250, 70, 200, 24
ExecForm

jeśli dobrze rozumiem to powinien tworzyć plik ambas.ini. Ja nigdzie takiego pliku nie znalazłem.


Już poradziłem sobie tak:
Kod:
//Otwarcie pliku do odczytu
String Plik_z_Haslem = KatalogFirmy() + "daneDostepowe.txt"
Int Numer_plik = Open Plik_z_Haslem For input
//Odczytanie jednej linii z pliku
String UserName
String Password
Input # Numer_plik, UserName
Input # Numer_plik, Password
//Wpisanie odczytanych danych na ekran
Print "Nazwa użytkownika: "+ UserName
Print "Hasło: "+ Password
//Zamknięcie pliku
Close Numer_plik

Autor:  rafal [ 2017-06-08, 11:53 ]
Tytuł:  Re: Cechy globalne w symfonia handel

Jeżeli używasz PutIni na nieistniejącym pliku to jest on tworzony.

Autor:  arnoldinho [ 2017-06-08, 12:43 ]
Tytuł:  Re: Cechy globalne w symfonia handel

Cytuj:
PutIni ("Sekcja1","Wejscie11","Wartosc11","ambas.ini")

zwraca 0 czyli błąd zapisu, pliku w katalogu nie ma

Cytuj:
PutIni ("Sekcja1","Wejscie11","Wartosc11")

zapisuje dane do pliku Admin.ini na samym końcu

starczy już mi gryzienia się z tym programem :-D

Autor:  rafal [ 2017-06-08, 12:54 ]
Tytuł:  Re: Cechy globalne w symfonia handel

Kod:
PutIni ("Sekcja1","Wejscie11","Wartosc11","c:\\ambas.ini")

Autor:  arnoldinho [ 2017-06-08, 13:17 ]
Tytuł:  Re: Cechy globalne w symfonia handel

rafal pisze:
Kod:
PutIni ("Sekcja1","Wejscie11","Wartosc11","c:\\ambas.ini")


to nie działa, może dlatego, że główny katalog w C jest chroniony przed zapisem, gdyby komuś się przydało to zrobiłem to tak

zapis:
Cytuj:
//deklaracja zmiennych
String UserName
String Password
//pobranie danych od usera
Input "Wpisz nową nazwę użytkownika", UserName
Input "Wpisz nowe hasło", Password
//Wpisanie wprowadzonych danych do pliku
PutIni ("Dane dostępowe","UserName",UserName,KatalogFirmy()+"Dane dostepowe.ini")
PutIni ("Dane dostępowe","Password",Password,KatalogFirmy()+"Dane dostepowe.ini")
//Wpisanie wprowadzonych danych na ekran
Print "Zmieniono nazwę użytkownika na :", UserName, LF
Print "Zmieniono hasło na :", Password, LF


odczyt:
Cytuj:
//Odczytanie z pliku "Dane dostepowe.ini"
String UserName=GetIni("Dane dostępowe","UserName",KatalogFirmy()+"Dane dostepowe.ini")+"\n"
String Password=GetIni("Dane dostępowe","Password",KatalogFirmy()+"Dane dostepowe.ini")
//wyświetlam dane
Print "Nazwa użytkownika: "+ UserName
Print "Hasło: "+ Password

Strona 1 z 1 Strefa czasowa UTC+1godz. [letni]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/