#10 PavelV
tak jsem to s pomocí debugu a intellisense pochopil...
provede se and znegovaného a a dalšího a ze dvou různých K...
#9 peter
Děkuji za odpověď, script jako takový počítá SHA ve všech možných verzích...
opět jsem se k tomu vrátil a narazil na další "úžasný" zápis...
for (d = 0; 5 > d; d += 1)
for (e = 0; 5 > e; e += 1)
b[d][e] = A(k[d][e], new a(~k[(d + 1) % 5][e].a & k[(d + 2) % 5][e].a, ~k[(d + 1) % 5][e].b & k[(d + 2) % 5][e].b));
dva vnořené cykly - OK
b je pole:
b:Array[5]
0:Array[5]
0:a
a:3854
b:218893066
__proto__:Object
1:a
atd...
k taktéž pole stejného formátu; funkce new a vrátí proměnou a použitou v těchto polích
funkce A provede nějaké bitové operace nad předanými parametry (XOR apod)
1. parametr pro fci A - OK, vezmu z pole k příslušnou proměnnou a
2. parametr pro fci A - to je problém... Respektive vytvoření=zavolání fce a - jaká dvě čísla z proměnné k se vezmou?
a(~k[(d + 1) % 5][e].a & k[(d + 2) % 5][e].a, ~k[(d + 1) % 5][e].b & k[(d + 2) % 5][e].b)
1.argument fce a je: ~k[(d + 1) % 5][e].a & k[(d + 2) % 5][e].a tj. negace čeho? Co je sakra [e].a, když e je celé číslo?
můžete mi to někdo objasnit? Díky.
#5 Kit
když ono to jiné názvy nemá, takhle je ten skript napsán (fce s názvy na,la,qa; v každé se opakují proměnné a,b,c,d, které jsou definovány i jako globální... )
teď to trápím debugem, a zdá se, že to přiřazení fce r do e + zvětšení h o m se provede jen tehdy,
když je h + m <= b... Protože když tato podmínka platí, tak debug skočí do fce r, v opačném případě nee..
je to možné?
Zdravím,
s js jsem se nikdy nezaobíral, jen se teď snažím jeden js přepsat do vba a narazil jsem...
js kód:
for (g = 0; g < f; g += q)
h + m <= b && (e = r(c.slice(g, g + q), e), h += m);
cyklus jsem pochopil, jen mi uniká smysl výrazu, který se v cyklu provádí...
KDY se přiřadí výsledek fce r do e a přičte k h hodnota m? Co ten logický and?
Ještě jednou bez obsahu schránky...
Zdravím,
s js jsem se nikdy nezaobíral, jen se teď snažím jeden js přepsat do vba a narazil jsem...
js kód:
for (g = 0; g < f; g += q)
h + m <= b && (e = r(c.slice(g, g + q), e), h += m);
cyklus jsem pochopil, jen mi uniká smysl výrazu, který se v cyklu provádí...
KDY se přiřadí výsledek fce r do e a přičte k h hodnota m? Co ten logický and?
Zdravím,
přes ADO načítám do excelu data z SQL databáze - vše (Select) bez problémů. Problém nastává v okamžiku, kdy se pokusím databázi změnit Insert into, Delete. Pokud použiji externí program pro práci s databází, je vše bez problémů, tzn. mám dostatečná oprávnění pro změny v databázi apod. V uvedeném příkladu projde Select, Insert ani Delete ne...
Díky za nápady...
JB
Public LinkID As ADODB.Connection
Public QueryID As ADODB.Recordset
Private Record() As String
Public Row As Long
Public NumRows As Long
Public Function connect(Optional server As String = "", Optional uid As String = "", Optional pwd As String = "", _
Optional dbname As String = "") As Boolean
Dim connStr As String
If (server = "") Then server = "DBServer"
If (uid = "") Then uid = "User1"
If (pwd = "") Then pwd = "1234"
If (dbname = "") Then dbname = "Database1"
If (uid = "") Then
connStr = "DRIVER={SQL Server};SERVER=" & server & ";Trusted_Connection=Yes;APP=Office 2007 App;DATABASE=" & dbname
Else
'connStr = "DRIVER={SQL Server};SERVER=" & server & ";UID=" & uid & ";PWD=" & pwd & ";APP=Office 2007 App;DATABASE=" & dbname
connStr = "Provider=SqlOleDb;Data Source=DBServer;Initial Catalog = Database1;UID=" & uid & ";PWD=" & pwd & ";Options=-1;"
End If
If (LinkID Is Nothing) Then
Set LinkID = New ADODB.Connection
On Error Resume Next
LinkID.Open connStr
On Error GoTo 0
If (LinkID.State = 0) Then
ErrorNo = Err.Number
ErrorTxt = Err.Description
End If
End If
connect = LinkID.State
End Function
Public Function query(Optional queryStr As String = "") As Boolean
If (queryStr = "") Then Exit Function
If Not (connect) Then Exit Function
If (QueryID Is Nothing) Then
Set QueryID = New ADODB.Recordset
ElseIf (QueryID.State) Then
free_result
End If
On Error Resume Next
QueryID.Open queryStr, LinkID, adOpenForwardOnly, adLockOptimistic, -1 ', adLockBatchOptimistic
On Error GoTo 0
Row = 0
If (QueryID.State = 0) Then
ErrorNo = Err.Number
ErrorTxt = Err.Description
End If
NumRows = count_records
query = QueryID.State
End Function
Public Sub free_result()
If Not (QueryID Is Nothing) Then
QueryID.Close
End If
End Sub
Public Function count_records() As Integer
count_records = 0
If Not (QueryID Is Nothing) Then
If (QueryID.State) Then
While (Not QueryID.EOF)
count_records = count_records + 1
QueryID.MoveNext
Wend
If (count_records) Then
QueryID.Requery
End If
End If
End If
End Function
Sub Test()
query "SELECT * FROM Table1 WHERE Empl = 'Tom'"
query "INSERT INTO Table1 (EMPL)Values ('Tod')"
query "DELETE FROM Table1 WHERE Empl = 'Tod'"
End Sub