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.


Témata - Wangarad

Stran: [1] 2 3 ... 5
1
Vývoj / Python vyhladavanie zhody v array
« kdy: 20. 04. 2021, 18:56:55 »
Zdravim.
Mam pole ovocie['Jablko;1','Pomaranc;2,'Banan;3'] a premenu kosik kde je napriklad Jablko.
Ako vyhladam Jablko v poly ovocie?
Normalne by som pouzil if kosik in ovocie: ale ako vyhladam to ovocie ak je to pole tak ako hore?
Resp. ako vyhladavat ciastocnu "zhodu" v array?

2
Vývoj / PHP výběr obrázku na základě data vytvoření
« kdy: 31. 03. 2021, 08:21:51 »
Dobry den.
Mam trosku problem.
Zadanie: Kamera generuje obrazky s random nazvom. Potrebujem tieto obrazky nacitat do stranky podla casu ale jedine info co mam je len datum vytvorenia. Cele to musi byt v PHP. Popravde ani netusim ako vybrat subor na zaklade datumu vytvorenia. Vedel by niekto poradit ako na to? (tych obrazkov je tam denne cez 6000)

3
Vývoj / Python pridanie dat do c_ubyte_Array_
« kdy: 08. 03. 2021, 20:45:22 »
Zdravim.
Mam toto
Kód: [Vybrat]
from ctypes import *
...
...
DFSD_DATA_BLOCK_SIZE = 36
myDataBufe = c_uint8 * DFSD_DATA_BLOCK_SIZE
myData = myDataBufe()
#Array with a hex in string to int
for x in Data_buffer:
      hex_int = int(x, 16)
      myDataBufe.append(hex_int)
ale samozrejme to spadne na AttributeError: type object 'c_ubyte_Array_36' has no attribute 'append'
co pouzit namiesto append pre c_ubyte? resp. ako "pridat/vymenit" data pre c_ubyte_Array?

4
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.

5
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

6
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

7
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.

8
Vývoj / Python zaokruhlovanie na cele cislo nefunguje spravne
« kdy: 18. 02. 2021, 12:30:00 »
Tak dalsia otazka.
Ako je mozne ze Python "Nevie spravne zaokruhlovat" ma cele cislo?
Kód: [Vybrat]
data_1 = 83.5
data = 82.5
print(round(data_1))
print(round(data))
Vysledok
Kód: [Vybrat]
84
82
ako to osetrit aby to vzdy zaokruhlovalo hore?

9
Vývoj / Python 3 konverzia Hex
« kdy: 16. 02. 2021, 11:12:53 »
Potreboval by som trosku poradit ako skonvertovat string do hexa v python 3. Nie je mi celkom jasne ci si pletiem pojmy alebo dojmy ale dajme tomu ze mam zapisovat takyto format
Kód: [Vybrat]
Data: 00,FF FF FF FF    =        Format,    00, Memory address 00 – 7F (00 – 127) 
FF FF FF FF LSB in Hex
Ako skonvertujem v pythone napriklad cislo 1254 alebo string Janko do tohoto formatu? To prve mi je jasne je to adresa kde chcem zapisovat ale nie je mi jasny ten format LSB in Hex skrz co to skonvertovat v pythone 3?

10
Vývoj / Python a XML vracia none
« kdy: 15. 02. 2021, 17:00:57 »
Zdravim.
Snazi sa s XML dokumentu vycitat par element ale vracia mi to vzdy none.
Toto mam v pythone
Kód: [Vybrat]
import xml.etree.ElementTree as ET
from urllib.request import urlopen
with urlopen('http://XXX/WebSvc/FCMSWebSvc.asmx/GetInkSmartTagParameters?KinkName=oreo&printerRange=&config_revision=') as data:
    tree = ET.parse(data)
    root = tree.getroot()

   
    ConfigHeaderId = tree.find('ConfigHeaderId')
    Config_Id = tree.find('Config_Id')
    Printer_Range = tree.find('Printer_Range')
    Config_Type = tree.find('Config_Type')
    Config_Revision = tree.find('Config_Revision')
    Status = tree.find('Status')
    print(Status,Config_Revision ,Config_Type)
XML vyzera takto
Kód: [Vybrat]
<TagParameters>
<ConfigHeaderInfo>
<ConfigHeaderItem>
<ConfigHeaderId>78578545</ConfigHeaderId>
<Config_Id>505</Config_Id>
<King>SMARTTAG</King>
<Config_Type>STANDARD</Config_Type>
<Config_Revision>15</Config_Revision>
<Status>Released</Status>
</ConfigHeaderItem>
</ConfigHeaderInfo>
v com je problem?

11
Vývoj / Python posuvny register
« kdy: 05. 02. 2021, 15:04:13 »
Zdravim.
Mam niekto skusenost s posuvnym registrom v pythone? Potrebujem posuvat pomocov signalu data s jednej tabulky do druhej ale problem je v tom ze ID produktu mam len ked sa dostane do procesu. Potom 3 stanice pricom na kazdej ho mozu odobrat a jedine co viem je signal ze je vonku. Mam predstavu ako to spravit ale "viac hlav viac kapusty". Ma niekto tip na kniznicu pripadne realnu skusenost, tip na co si dat pozor?

12
Vývoj / PHP Javascript ako poslat hodnotu do Modal
« kdy: 01. 02. 2021, 08:06:42 »
Zdravim.
Rad by som posielal hodnotu ako parameter do modal okna. Bohuzial jedine co som zatial zmajstroval je to ze sa mi zobrazuje hodnota v INPUT ale neviem ju pouzit pre funkciu
Kód: [Vybrat]
<div id="RepairModal" class="modal">
 
  <form class="modal-content animate" action="login.php" method="post">
    <div class="imgcontainer">
      <span onclick="document.getElementById('RepairModal').style.display='none'" class="close" title="Close">&times;</span>
     
    </div>

    <div class="container">
      <input id="feed_id" name="cid" type="hidden" value="" />
      <? echo $_POST['feed_id']; ?>
    </div>
  </form>
</div>

a posielam to tam takto
Kód: [Vybrat]
   <script>
$(document).ready(function(){
 
$('body').on('click', '.feed-id',function(){
   document.getElementById("feed_id").value = $(this).attr('data-id');
   console.log($(this).attr('data-id'));
   document.getElementById('RepairModal').style.display='block';
   });
});
</script>
Ako to spravit aby som to vedel vyuzit v tom modal ako parameter pre funkciu v PHP?

13
Vývoj / Python alternativa k selenium
« kdy: 27. 01. 2021, 08:37:33 »
Zdravim.
Existuje alternativa k selenium alebo nieco podobne co by riesilo problem otvarania stranky a vyplnenia formularu?
Ide o to ze mam externe zariadenie s ktoreho sa nacita ID. Selenium nasledne otvara stranku vyplna vstupne data a prihlasuje do systemu. Cele to mam funkcne ale je to neskutocne "divne" na bezne pouzitie. Idealne nieco co vie detekovat uz otvoreny browser a vykonat akciu v nom. Skusal som priamo webbrowser ale tam sa mi nepodarilo vyriesit problem s vlozenim udajov na web. (Ten viac menej riesil moj probem s pouzitim aktivneho prehliadaca)
Kód: [Vybrat]
import serial
import re
import subprocess
import win32com.client
import time
from selenium import webdriver

#Open serial connection
ser = serial.Serial()
ser.port = "COM7"
ser.baudrate = 9600
ser.bytesize = serial.EIGHTBITS #number of bits per bytes
ser.parity = serial.PARITY_NONE #set parity check: no parity
ser.stopbits = serial.STOPBITS_ONE #number of stop bits
#ser.timeout = None          #block read
ser.timeout = 1            #non-block read
#ser.timeout = 2              #timeout block read
ser.xonxoff = False     #disable software flow control
ser.rtscts = False     #disable hardware (RTS/CTS) flow control
ser.dsrdtr = False       #disable hardware (DSR/DTR) flow control
ser.writeTimeout = 2     #timeout for write
ser.open() # try to open port, if possible print message and proceed with 'while True:'
print ("port is opened!")
# Only trash

while (True):
    if ser.is_open:
        if (ser.inWaiting()>0):
            time.sleep(0.5) #if incoming bytes are waiting to be read from the serial input buffer
            data_str = ser.read(ser.inWaiting()).decode('ascii') #read the bytes and convert from binary array to ASCII
            print(data_str, end='\n') #print the incoming string without putting a new-line ('\n') automatically after every print()
            time.sleep(0.01)
            #Open Browser
            #browser exposes an executable file
            #Through Selenium test we will invoke the executable file which will then #invoke actual browser
            driver = webdriver.Chrome(executable_path="C:\driver\chromedriver.exe")
            # to maximize the browser window
            driver.maximize_window()
            #get method to launch the URL
            driver.get("http://XXXX/ads/idlogin.php?")
            #to refresh the browser
            driver.refresh()
            # identifying the edit box with the help of id and enter text
            driver.find_element_by_name("loginname").send_keys(data_str)
            # identifying the button then using click() method
            driver.find_element_by_xpath("//button[contains(@class,'submitbutton')]") .click()

14
Vývoj / Python zrychlenie kódu
« kdy: 18. 01. 2021, 16:04:21 »
Zdravim akoby sa dalo zoptimalizovat toto? Mam cyklus kde pisem a citam data do 1.2s ale potreboval by som sa dostat pod 1.
Kód: [Vybrat]

for OPC_output in OPC_tag_list_output_array:
         value = '4:'
         tag_string = value + OPC_output
         #Load data from SQL
         SQL = "SELECT value FROM HMI.dbo.tag_list WHERE tag = '"+ OPC_output+"' "
         cursor.execute(SQL)
         result = cursor.fetchall()
         for row in result:
            SQL_Variable = row[0] 

             # Check if variable is string 
            OPC_Output_write = root.get_child(["0:Objects", "4:new_Controller_0", "3:GlobalVars", tag_string])
           # print("before: ", OPC_Output_write.get_value())
         if (SQL_Variable[0] == '1') or (SQL_Variable[0] == '0'):
             # print (SQL_Variable)
              if SQL_Variable == '1':
                  SQL_Variable = True
              if SQL_Variable == '0':
                  SQL_Variable = False     
              Variable = SQL_Variable
              OPC_Output_write.set_value(ua.DataValue(ua.Variant(Variable, ua.VariantType.Boolean)))
         else: 
              String_var = ua.DataValue(ua.Variant(SQL_Variable, ua.VariantType.String))
              OPC_Output_write.set_value(String_var)                           

15
Vývoj / Python factorial
« kdy: 13. 01. 2021, 17:43:41 »
Zdravim ako by ste v python-e riesily taketo zadanie. Cisto pre zaujimavost.\
Vstup je cislo napriklad 3
a pozadovany vysledok by mal vyzerat
1
12
123
12
1

Stran: [1] 2 3 ... 5