Posty bez odpowiedzi |oraz Aktywne tematy Dzisiaj jest 2024-04-19, 07:09x



Odpowiedz w temacie  [ Posty: 52 ]  Przejdź na stronę Poprzednia  1, 2, 3, 4  Następna
Pervasive - Wprowadzanie kursu walut? 
Autor Wiadomość

Rejestracja: 2013-10-20, 19:08
Posty: 49
Post Re: Pervasive - Wprowadzanie kursu walut?
No i co tu więcej dodać... :-)
Zresztą z daleka widać że kochasz ten język... :P

Jedna mała drobna uwaga to aby po pętli while dodać if sWybranyXML != ""
a w przypadku nie spełnienia warunku to komunikat o braku danego kursu i zwrócenie z funkcji -1


2013-11-28, 12:11
Wyświetl profil
Autor Wiadomość
 


Ekspert
Ekspert

Rejestracja: 2007-11-16, 15:08
Posty: 3983
Pomógł: 445
Post Re: Pervasive - Wprowadzanie kursu walut?
Jeżeli nie znajdzie waluty czy kursu to i tak zwraca 0.

Ale popraw to tak jak Ci będzie wygodnie. A jak już dopracujesz się gotowego rozwiązania to je opublikuj chętnie zobaczę.

_________________
Skontaktuj się z Ekspertem | Zamów dodatek

tel. 22 7 538 538
ekspert@mojaSymfonia.pl
http://www.mojaSymfonia.pl


2013-11-28, 12:58
Wyświetl profil

Rejestracja: 2013-10-20, 19:08
Posty: 49
Post Re: Pervasive - Wprowadzanie kursu walut?
Zwracając uwagę nie chciałem w żaden sposób urazić Cię... więc przepraszam.
Gdybym pewnie siedział w symfonii dzień i noc to pewnie też bym publikował...
Skoro potraktowałeś ten skrypt tak poważnie / profesjonalnie to chciałem tylko
nadmienić że bardziej profesjonalnie jest aby skrypt zwracał jawnie określoną wartość
a nie w przypadku błędu zwracał "domyślnie" deklarowaną wartość dla zmiennej.


2013-11-28, 13:11
Wyświetl profil
Ekspert
Ekspert

Rejestracja: 2007-11-16, 15:08
Posty: 3983
Pomógł: 445
Post Re: Pervasive - Wprowadzanie kursu walut?
Uwagi są zawsze mile widziane :)

_________________
Skontaktuj się z Ekspertem | Zamów dodatek

tel. 22 7 538 538
ekspert@mojaSymfonia.pl
http://www.mojaSymfonia.pl


2013-11-28, 13:41
Wyświetl profil

Rejestracja: 2009-01-31, 13:02
Posty: 106
Pomógł: 6
Post Re: Pervasive - Wprowadzanie kursu walut?
rafal -
po skopiowaniu Twojego kodu w pliku tmp pojawia się taki wpis:
The page you are looking for cannot be displayed because an invalid method (HTTP verb) is being used.

Używam Windows 8 Pro 64bit Handel Premium 2013.1.b z pervasive workgroup ver 11

Czy to wina 64bita?

_________________
Pozdrawiam, G.


2013-11-29, 12:41
Wyświetl profil
Ekspert
Ekspert

Rejestracja: 2007-11-16, 15:08
Posty: 3983
Pomógł: 445
Post Re: Pervasive - Wprowadzanie kursu walut?
Ta wiadomość była pomocna.(1)
:szukaj ZNAJDŹ
Kod:
   dispatch req = "Microsoft.XmlHttp"


ZAMIEŃ NA
Kod:
   dispatch req = "MSXML2.XmlHttp"


Teraz powinno chodzić wszędzie. Mógłbyś to potwierdzić?

_________________
Skontaktuj się z Ekspertem | Zamów dodatek

tel. 22 7 538 538
ekspert@mojaSymfonia.pl
http://www.mojaSymfonia.pl


2013-11-29, 14:08
Wyświetl profil

Rejestracja: 2009-01-31, 13:02
Posty: 106
Pomógł: 6
Post Re: Pervasive - Wprowadzanie kursu walut?
Potwierdzam, działa.

_________________
Pozdrawiam, G.


2013-11-29, 14:29
Wyświetl profil
Ekspert
Ekspert

Rejestracja: 2007-11-16, 15:08
Posty: 3983
Pomógł: 445
Post Re: Pervasive - Wprowadzanie kursu walut?
Ta wiadomość była pomocna.(1)
użycie obiektu RegExp umożliwiło wyeliminowanie pliku tymczasowego

Kod:
float sub PobierzKurs(string sWaluta, string sData)

   date dDataNBP
   dDataNBP.FromStr( sData )

   dispatch req = "MSXML2.XmlHttp"
   dispatch xml = "Microsoft.XMLDOM"
   dispatch exp = "VBScript.RegExp"
   dispatch mat

   exp.Global = 1
   exp.IgnoreCase = 1
   
   dispatch xmlPOZYCJE
   dispatch xmlPOZYCJA
      dispatch xmlKOD_WALUTY
      dispatch xmlKURS_SREDNI


   string sWybranyXML   
   string url = "http://www.nbp.pl/kursy/xml/dir.txt"
   int iPozycje   

   req.open ("GET", url, 0)
   req.send
      
   exp.pattern = (using "a([0-9]{3})z%s%2.2d%2.2d", mid((using "%d", dDataNBP.Year ),3,2), dDataNBP.Month, dDataNBP.Day)
   mat = exp.Execute( req.responseText )

   if mat.count() == 1 then sWybranyXML = mat.item(0).value

   xml.async = 0
   xml.Load( "http://www.nbp.pl/kursy/xml/" + sWybranyXML +".xml" )

   xmlPOZYCJE = xml.getElementsByTagName("pozycja")

   for iPozycje = 0 to iPozycje > xmlPOZYCJE.length - 1

      xmlPOZYCJA = xmlPOZYCJE.item( iPozycje )

      if xmlPOZYCJA.getElementsByTagName("kod_waluty").item(0).text == sWaluta then
   
         PobierzKurs = val(xmlPOZYCJA.getElementsByTagName("kurs_sredni").item(0).text)

      endif

   next iPozycje

endsub

_________________
Skontaktuj się z Ekspertem | Zamów dodatek

tel. 22 7 538 538
ekspert@mojaSymfonia.pl
http://www.mojaSymfonia.pl


2013-11-29, 15:30
Wyświetl profil
Ekspert
Ekspert
Awatar użytkownika

Rejestracja: 2008-04-18, 18:52
Posty: 5169
Pomógł: 59
Post Re: Pervasive - Wprowadzanie kursu walut?
grabber pisze:
:) Pewnie że łatwiej użyć rozwiązania innych... ale dawać sage za taką przyjemność 400 netto...?
to powoływanie specjalnie obiektu MSXML jest w tym przypadku tak samo wydajne jak regexp
czy bardziej proste rozwiązania.
Zasada jest taka że zawsze należy oceniać wielkość przedsięwzięcie do opłacalności
używania zewnętrznych rozwiązań...


No czemu sage - możesz nabyć nasz za jakieś 300 a nawet damy ci upust - jako klientowi z forum :)

Co do MSXML dla jednego kursu to nie ma sensu ale jak czytasz kursy do FK za np tydzień i dla 20 walut - to juz MSXML jest wygodniejszy :)

Co do opłacalności zewnętrznych rozwiązań - no policz ile kosztuje twoja godzina i ile godzin na to opracowanie stracisz - i wtedy ocen opłacalność - najczęściej wychodzi ze jednak warto skorzystać z zewnętrznego narzędzia czy tez biblioteki :)


2013-12-02, 17:52
Wyświetl profil

Rejestracja: 2013-10-20, 19:08
Posty: 49
Post Re: Pervasive - Wprowadzanie kursu walut?
Ależ ja doceniam każdą pracę i każdy wysiłek, tylko czasem warto mieć pewne alternatywy...
Bo są firmy mniejsze i większe, które mogą sobie pozwolić na zatrudnienie informatyka lub też nie...

I tym samym gotowe rozwiązania za 300-400 zł oferował bym firmie która nie ma takiego wsparcia wewnętrznego
dając im pewność "przynajmniej teoretyczną" niezwodności i niewymagającego obługi modułu do programu...

Ale są też firmy które zatrudniają pewnych ludzi o dziwnych twarzach i fryzurach dla których takie wsparcie to wyzwanie... :))
Oczywiście aż taki zboczony nie jestem aby się teraz uczyć profesjonalnie programować w ambasicu :)
dlatego też zwracam się do was co pewien czas z prośbą o pomoc bo dobrze widzę że forum jest wspierane przez profesjonalistów...


2013-12-02, 18:24
Wyświetl profil

Rejestracja: 2013-10-20, 19:08
Posty: 49
Post Re: Pervasive - Wprowadzanie kursu walut?
Czy wiecie może dlaczego jak wrzuca się jakąś funkcję do OnOpen() w procedurze OnTimer() (tak aby coś wykonało się na dzień dobry po uruchomieniu)
to zaczyna się ta funkcja zapętlać? Jak wrzucę coś typy message "Hello" to wykonuje się raz, a jak wrzucam np. funkcję która sprawdza czy są aktualne kursy
i ewentualnie je pobiera i podmienia to funkcja zaczyna pracować w pętli, nie pozwalając dostać się do programu...
Wydedukowałem że może wynikać to z faktu że jeśli OnOpen() nie zakończy działania funkcji przed kolejnym cyklem OnTimer() to cała procedura OnTimer() zaczyna się od nowa...?


2013-12-03, 12:41
Wyświetl profil
Ekspert
Ekspert

Rejestracja: 2007-11-16, 15:08
Posty: 3983
Pomógł: 445
Post Re: Pervasive - Wprowadzanie kursu walut?
pokaż co tam dodajesz to może coś wymyślimy.

_________________
Skontaktuj się z Ekspertem | Zamów dodatek

tel. 22 7 538 538
ekspert@mojaSymfonia.pl
http://www.mojaSymfonia.pl


2013-12-03, 12:42
Wyświetl profil

Rejestracja: 2013-10-20, 19:08
Posty: 49
Post Re: Pervasive - Wprowadzanie kursu walut?
Kod:
int sub OnOpen()
   PopUp ( 1, "Trwa aktualizacja kursu walut. Proszę czekać..." )
   
   If SprawdzKurs("EUR",AktualnaData) == 0 Then
      For ForStep=0 To ForStep > 7
         DateObject.SubDays(1)
         AktualnaData = DateObject.DateToStr()
         WartoscWaluty = PobierzKurs("EUR",AktualnaData)   
         PopUp ( 2, "Sprawdzam kurs dla: " + AktualnaData )      
         If WartoscWaluty > 0 Then
            If SprawdzKurs("EUR",AktualnaData) == 0 Then
               DodajKurs("EUR",AktualnaData,WartoscWaluty)
               NewValueCounter = NewValueCounter + 1
            Endif
         Endif
      Next ForStep
   Endif

   If NewValueCounter > 0 Then Message "Kurs walut został zaktualizowany!"
   OnOpen = 0
endsub


Z palca działa bardzo dobrze, ale jak wrzucam do procedury OnOpen() to gdy tylko skończy to wykonuje od nowa całość,
przerwanie z ESC wyświetla pytanie o przerwanie ale potwierdzenie tego nic nie daje...


2013-12-03, 14:00
Wyświetl profil
Ekspert
Ekspert

Rejestracja: 2007-11-16, 15:08
Posty: 3983
Pomógł: 445
Post Re: Pervasive - Wprowadzanie kursu walut?
Nie pokazałeś całego kodu. Raczej sam musiałeś gdzieś zapętlić coś.

_________________
Skontaktuj się z Ekspertem | Zamów dodatek

tel. 22 7 538 538
ekspert@mojaSymfonia.pl
http://www.mojaSymfonia.pl


2013-12-04, 15:00
Wyświetl profil
Ekspert
Ekspert

Rejestracja: 2007-11-16, 15:08
Posty: 3983
Pomógł: 445
Post Re: Pervasive - Wprowadzanie kursu walut?
chyba masz rację. coś jest nie tak

_________________
Skontaktuj się z Ekspertem | Zamów dodatek

tel. 22 7 538 538
ekspert@mojaSymfonia.pl
http://www.mojaSymfonia.pl


2013-12-04, 15:13
Wyświetl profil
Wyświetl posty nie starsze niż:  Sortuj wg  
Odpowiedz w temacie   [ Posty: 52 ]  Przejdź na stronę Poprzednia  1, 2, 3, 4  Następna
   Podobne tematy   Autor   Odpowiedzi   Odsłony   Ostatni post 
Na tym forum nie ma nowych nieprzeczytanych postów. Pobieranie kursu walut przy pomocy AMBasic

w Programowanie

ddooh

2

3277

2015-08-17, 12:46

ddooh Wyświetl najnowszy post

Na tym forum nie ma nowych nieprzeczytanych postów. Usuwanie zatwierdzania kursu waluty

w Programy Handlowe

tarta

0

2088

2018-04-06, 09:37

tarta Wyświetl najnowszy post

Na tym forum nie ma nowych nieprzeczytanych postów. Zmiana kursu rozpoczęcia waluty

w Programy Księgowe

masek_294

1

2536

2010-06-07, 15:08

wrob Wyświetl najnowszy post

Na tym forum nie ma nowych nieprzeczytanych postów. HMF 2020 - import kursu waluty

w Programowanie

KrzysztofK

1

2672

2020-07-21, 23:13

Arek44 Wyświetl najnowszy post



Kto jest online

Użytkownicy przeglądający to forum: Nie ma żadnego zarejestrowanego użytkownika i 6 gości


Nie możesz tworzyć nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Przejdź do:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Support forum phpbb by phpBB Assistant