Zobrazit příspěvky

Tato sekce Vám umožňuje zobrazit všechny příspěvky tohoto uživatele. Prosím uvědomte si, že můžete vidět příspěvky pouze z oblastí Vám přístupných.


Příspěvky - Wangarad

Stran: 1 ... 6 7 [8] 9 10 ... 25
106
Vývoj / Re:Python a dll pisane pre C+ nechcu papat bytearray
« kdy: 07. 03. 2021, 17:41:12 »
tecka:
takze dnu ma ist int ak tomu chapem spravne. ano?

107
Vývoj / Re:Python 3 úprava skriptu
« kdy: 07. 03. 2021, 13:08:20 »
soyo ja som to riesil na strane HW. Proste som pridal mikro spinac a ked to prislo na hornu/dolnu polohu tak sa to rozoplo a bolo to v pohode.

108
Vývoj / Re:Python a dll pisane pre C+ nechcu papat bytearray
« kdy: 07. 03. 2021, 13:06:00 »
No to je prave ten problem ze cele je to "pod licenciou" ktora mi zakazuje cokolvek publikovat.
Ale mate pravdu.
Skusim to takto
v pythone nespravim nic ine len.
Kód: [Vybrat]
#nazov funkcie
SignData = getattr(USB_dongle, "?SignData@@YAHAAUtTagData@@@Z")
SignData.argtypes  = [c_char_p]
SignData.restype = c_char_p
#Data pre funkciu
ID = 'E0ABDGD12X0'
Data_input = '00000000000000000000000000'
Data_output = '0000000000000000000000000000000000000000000000000000'

key_set = ID+Data_input+Data_output
key_set = key_set.encode

print(SignData(key_set))

109
Vývoj / Python a dll pisane pre C+ nechcu papat bytearray
« kdy: 07. 03. 2021, 08:53:52 »
Zdravim.
Potreboval by som trosku poradit.
Popis zadania. Zober si kniznicu DLL na sifrovanie. Inicializuj, podpis kluc a potom dostanes vysledok. Easy. Nacitam DLL Pripojim sa inicializujem , registrujem.
Problem je ked chcem podpisovat kluc.
Toto je example ako to chlapik pouziva v C
Kód: [Vybrat]
typedef struct tTagData
{
   u64_t ddwUID;
   u8_t data[DFSD_DATA_BLOCK_SIZE];
   u8_t signedData[DFSD_DATA_BLOCK_SIG_SIZE];
} tagData_t;
 
 
tagData_t myTagData;
 
    u8_t abDummyBlockData1[DFSD_DATA_BLOCK_SIZE]={
             0x00, 0x00, 0x00, 0x00,  //reg7
             0x50, 0xa0, 0x00, 0x00,  //reg8
             0x61, 0x03, 0x00, 0x7d,  //reg9
             0xf3, 0xbd, 0x8f, 0xe5,  //reg10
             0x25, 0x81, 0x9c, 0x20,  //reg11
             0x00, 0x00, 0x00, 0x00,  //reg12
             0x41, 0x41, 0x30, 0x30,  //reg13
             0x31, 0x32, 0x36, 0x31,  //reg14
             0x00, 0x00, 0x00, 0x00   //reg15
       };
 
 
myTagData.ddwUID = (u64_t)0xD0021F673FC988F0;
memcpy(myTagData.data,abDummyBlockData1,DFSD_DATA_BLOCK_SIZE);
 
iRetval = SignData(myTagData);
Cisto teoreticky aj ked bude vsetko 0 by mi kluc mal nieco vratit. Minimalne chybovu hlasku. Nech tam poslem co  len chcem vzdy mi to vzhaduje internu chybu kluca. Clovek ktory pisal tu dll mi tvrdil ze je zla dlzka vstupnych dat (bytearray) to som riesil tak ze mam natvrdo retazec plny 0 o dlzke ako si predstavuje a ten posielam do tej funkcie. Samozerejme ze to nefunguje. On ma presviedca ze je chyba na 100% v pythone "lebo mne to funguje".

Co ja mam v mojom programe je jednoducho string a potom .encode a dostanem bytearray. Vedel by mi niekto poradit co moze byt zle pripadne napisat kusok kodu ako by to riesil on? Uz sa s tym trapim tyzden a vyskusal som co ma napadlo ale ani za pana to nechce fungovat.

Fakt budem rad za kazdu radu.

110
Vývoj / Re:Python 3 úprava skriptu
« kdy: 07. 03. 2021, 08:45:42 »
original-bubo: mal som pretoze som si riesil presne tu istu vec cca pol roka dozdau  :-*

Ja osobne sem postujem relativne vela otazok a castokrat takych ze sa potom az hambzm ked si to necham rozlozit v hlave ale pochybudem ze by mi niekto pomohol keby mam pristup ako ty ale ok. Inak s Vasim pristupom sa Vam da odpovedat aj upkne inak. Naco sa ser*ete do veci ktorym nerozumiete a nemate sa ochotu ucit? Mas 63+ tak sa pripravuj na dochodok a neotravuj. Je to lepsie?

K3daR: tesat do kamena. Skoda ze sa neda dat nieco ako karma +

111
Vývoj / Re:Python 3 úprava skriptu
« kdy: 06. 03. 2021, 19:39:15 »
original-bubo : najprv som chcel poslat hotove riesenie ako si chcela ale ked som teraz badal tvoj pristup arogantneho debilka tak mam pre teba dobru radu : pomoz si sam :)
Dostal si 4 tipy co spravit samo o sebe je to banalitka na 10 minut ale ked mas k tomu pristup ako mas vela stastia  :-*

112
Vývoj / Python load DLL ako zavolat funkciu cez entry point?
« kdy: 02. 03. 2021, 15:29:39 »
Zdravim.

Ako nacitat funkciu s dll ktora ma nazov funkcie
Kód: [Vybrat]
int __cdecl Initialise(int,unsigned char,wchar_t *)
?
Tento vysledok som dostal ked som sa na to pozeral cez DLL Export Viewer. V pythone to nie je mozne.
Kód: [Vybrat]
from ctypes import *
import os

output_path = os.path.dirname(__file__)
USB_dongle_patch = os.path.join(output_path, 'XYZ_dll.dll')

USB_dongle = cdll.LoadLibrary(USB_dongle_patch)


test = 0
Dongle_ID = USB_dongle.Initialise()
print(Dongle_ID)

neviem sa dopatrat ako to pouzit funkciu s toho DLL a zavolat ju skz entry_point.

Od vyvojara som dostal toto
Kód: [Vybrat]
          [DllImport("XYZ_dll.dll", EntryPoint = "?Initialise@@YAHHEPA_W@Z", CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Unicode)]
            public static extern ReturnCode Initialise(bool enableLogging, uint oemID, String registrationKeyFilePathAndName);


ale netusim ako to vyuzit v pythone

113
Vývoj / Re:Python ako spravne pouzivat threading?
« kdy: 01. 03. 2021, 15:06:58 »
Kód: [Vybrat]
#Start Thereading
S1t = threading.Thread(target=Stage_1, args=("task",))
S2t = threading.Thread(target=Stage_2, args=("task",))
S3t = threading.Thread(target=Stage_3, args=("task",))



#Start a main Loop
while 1:
   #Connect to SQL
    if(SQL_Status == False):
      connect_to_database()

    if(SQL_Status == True and RFID_Status == False):   
      connect_to_RFID()   
    if(SQL_Status == True and RFID_Status == True):
        #check()
        if S1t.is_alive() is False:
            now = datetime.now()
            current_time = now.strftime("%H:%M:%S")
            print ( current_time  + 'Station 1 Restarted')
            S1t.start()
        if S2t.is_alive() is False:   
            now = datetime.now()
            current_time = now.strftime("%H:%M:%S")
            print ( current_time  + 'Station 2 Restarted')
            S2t.start()
        if S3t.is_alive() is False:   
            S3t.start()
            now = datetime.now()
            current_time = now.strftime("%H:%M:%S")
            print ( current_time  + 'Station 3 Restarted')   
       

114
Vývoj / Re:Python ako spravne pouzivat threading?
« kdy: 01. 03. 2021, 15:06:00 »
IDontCare: praveze nie tie stage si predstav ako nezavysle. Teda kazda moze v kazdom momente dostat data. Preto su oddelene.
check() - je len funkcia bokom.
Cela idea je je sa nastartuje GUI. Spravy si spojenia a potom len v klude checkuje ci thread nespadol.

Ide mi o to ci je toto korektne riesenie.

115
Vývoj / Re:Python ako spravne pouzivat threading?
« kdy: 01. 03. 2021, 14:07:00 »
To su funkcie ktore sa v podstate vykonavaju v cykle a obsluhuju databazu v style (select/update) etc skrz pyodbc

116
Vývoj / Python ako spravne pouzivat threading?
« kdy: 01. 03. 2021, 08:39:20 »
Zdravim.
Snazim sa spravne pouzivat threading spojeny s GUI. Mam ale pocit ze nieco je zle.
Idea je taka ze nastartujem thready potom sa nastartuje GUI a to nasledne skusa ci je thread aktivny ak nie tak ho znova nastartuje. Ale mam pocit ze nieco je zle resp. slo by to vyriesit elegantnejsie. Vie niekto poradit ako sa to ma "spravne" riesit?
Kód: [Vybrat]
layout = [[sg.Output(size=(80,10))],
            [sg.Button('Exit')],[sg.Button('Debug ON/OFF'), sg.Button('Movement monitoring ON/OFF')]]

window = sg.Window('Shifter V 1.0', layout)

#XML_domino.XML_To_DB(Model, Batch)
#Start Thereading
S1t = threading.Thread(target=Stage_1, args=("task",))
S1t.start()
S2t = threading.Thread(target=Stage_2, args=("task",))
S2t.start()
S3t = threading.Thread(target=Stage_3, args=("task",))
S3t.start()
while 1:
   #Connect to SQL
    if(SQL_Status == False):
      connect_to_database()

    if(SQL_Status == True and RFID_Status == False):   
      connect_to_RFID()   
    if(SQL_Status == True and RFID_Status == True):
        check()
        if S1t.is_alive() is False:
            S1t = threading.Thread(target=Stage_1, args=("task",))
            S1t.start()
        if S2t.is_alive() is False:   
            S2t = threading.Thread(target=Stage_2, args=("task",))
            S2t.start()
        if S3t.is_alive() is False:   
            S3t = threading.Thread(target=Stage_3, args=("task",))
            S3t.start()
   
       
    window.Refresh()
    (event, value) = window.Read(timeout=1)
    if event == 'Debug ON/OFF':
       if enable_debug == 'True':
             enable_debug = 'False'
             print('Debug Mode OFF')
       else:
              enable_debug = 'True'   
    if event == 'Movement monitoring ON/OFF':
          if debug_only_movement == 'True':
                 debug_only_movement = 'False'
                 print('Movement monitoring OFF')
          else:
                    debug_only_movement = 'True' 
                    print('Movement monitoring ON')       
    if event == sg.WIN_CLOSED or event == 'Exit':
           
       break

117
Vývoj / Re:Python 3 nenahradzuje spravne string
« kdy: 23. 02. 2021, 17:07:11 »
Ok moja chyba.
Teda takto.
Kód: [Vybrat]
def Position_in_Array (string,Position,array):
  print('Dlzka Array')
  print(len(array))
  Start_Position = Position
  print('Dlzka Stringu')
  print(len(string)) 
  Data = len(string)
  #data after position
  array_after_inserted_data = array[Data:]
  print('Kolko ostalo potom')
  print(len(array_after_inserted_data)) 
  #data before position actual position -
 
  Data_before_pos = Start_Position - Data
  print('Kolko pozicii vpred uchovaj')
  print(Data_before_pos) 
  array_before_inserted_data = array[:Data_before_pos]
 
  output = array_before_inserted_data + string + array_after_inserted_data
  print('Dlzka Vystupu')
  print(len(output))
  return output


print(Position_in_Array('1000',32, '00000000000000000000000000000000'))
Vysledok
Kód: [Vybrat]
Dlzka Array
32
Dlzka Stringu
4
Kolko ostalo potom
28
Kolko pozicii vpred uchovaj
28
Dlzka Vystupu
60
000000000000000000000000000010000000000000000000000000000000

Co chcem je odstrihnut s tych 32 posledne 4 pridat string ale nieco je zle.
Lebo ak zadam

print(Position_in_Array('1000',10, '00000000000000000000000000000000'))

Dlzka Array
32
Dlzka Stringu
4
Kolko ostalo potom
28
Kolko pozicii vpred uchovaj
6
Dlzka Vystupu
38
00000010000000000000000000000000000000

118
Vývoj / Python 3 nenahradzuje spravne string
« kdy: 23. 02. 2021, 16:10:50 »
Zdravim.

V Pythone som napisal funkciu ktora by mala hlupo nahradzovat string v retazci ale deje sa nieco zvlastne.
Vzdy ked je hodnota rovna maximalnej dlzke nespocita to spravne znaky pred.
Kód: [Vybrat]
def Position_in_Array (string,Position,array):
  Start_Position = Position
  string = string   
  Data_lenght = len(string)
 
  Data_after_position = int(Data_lenght)
  #data after position
  array_after_inserted_data = array[Position:]
  #data before position actual position -
  Data_before_pos = Start_Position - Data_lenght
  array_before_inserted_data = array[:Data_before_pos]
 
  output = array_before_inserted_data + string + array_after_inserted_data
  return output


print(Position_in_Array('1000',32, 'ABCDERTAGSHDJFKWORKDBANDREDBVAD'))

Priklad je string : ABCDERTAGSHDJFKWORKDBANDREDBVAD
Ak napisem
Kód: [Vybrat]
print(Position_in_Array('1000',4, 'ABCDERTAGSHDJFKWORKDBANDREDBVAD'))

vysledok je 1000ERTAGSHDJFKWORKDBANDREDBVAD teda vsetko OK.
Ak napisem
Kód: [Vybrat]
print(Position_in_Array('1000',32, 'ABCDERTAGSHDJFKWORKDBANDREDBVAD'))
tak vysledok je
ABCDERTAGSHDJFKWORKDBANDREDB1000 co je zle lebo uz je to mimo dlzku originalneho stringu. Preco sa tak deje?
Malo by to pekne pocitat ale pri 32 to nejde.

119
Vývoj / Re:Náhrada PHP nebo ASP.NET Core
« kdy: 23. 02. 2021, 08:11:27 »
Takze ked si to zhrnieme tak Vam vlastne nic hotove co treba priohnut nevyhovuje lebo to bude "hnusne" a "dolepene" a prilis ohnute. Ako nic Vam nebrani v tom si to cele napisat od zaciatku. Samozrejme si mozte vyrezervovat tak mesiac na pisanie vlastneho CMS. Sice bude dobre len pre Vas a kazdy druhy vam povie ze to nevie pouzit a treba to priohnut ale potom asi budete spoko.Len nezabudajte na detaily ako bezpecnost, sprava uzivatelov a bambilion funkcii.Pripadne si rovno zoberte framework a nabuchajte si to v nom to nie je problem. Ale myslim ze by to dopadlo presne ako pisete v poslednej vete vasho prispevku... Pripadne si sadnite napiste zadanie a skuste ho dat napriklad na nakoduj.to alebo webtrh a myslim ze nielen casovo usetrite ale aj financne.

120
Vývoj / Re:Python 3 konverzia Hex
« kdy: 22. 02. 2021, 10:12:02 »
A spravna odpoved je strasne jednoducha
Kód: [Vybrat]
data = '00000010000000000101000010110100'


def data_to_hexa(data):
 hd = (len(data) + 3) // 4
 output = '{:0{}x}'.format(int(data, 2), hd)
 return output


print(data_to_hexa(data))
PS C:\Users\t> & python c:/test/convert.py
020050b4

Stran: 1 ... 6 7 [8] 9 10 ... 25