Я добавил изменить размер событие к одному из моих виджетов, который похож на это:
void glControl_Resize(object sender, EventArgs e) {
Существует ли способ, которым я могу получить старый размер виджета (перед изменением размеров)? Возможно, я могу бросить e
к чему-то, что даст мне больше информации? Или я должен просто сохранить его во время того события?
Да, просто отследив старый размер в поле класса простое решение. Например:
Size mOldSize;
private void glControl_Resize(object sender, EventArgs e) {
if (mOldSize != Size.Empty && mOldSize != glControl.Size) {
// do something...
}
mOldSize = glControl.Size;
}
Я не слышал об использовании LCG для генерации фиксированного веса удара (я не получил этого глубоко в коды удара в школе, поэтому я тоже не слишком удивлен:).
В любом случае достаточно просто генерировать кучу битов с фиксированным ударным весом. Вот немного кода питона, который возвращает n -разрядное число с определенным весом. Это должно легко переводиться и на другие языки (помимо того, что питоновые целые числа произвольно велики).
from random import randrange
def get_ham_and_bits(weight, nbits=32):
"Get n-bits with a fixed hamming weight"
if weight > nbits:
return 1 < nbits
result = 0
for i in xrange(weight):
bit = 1 << randrange(nbits)
# only flip bits that aren't already flipped. delete the loop to
# make this return a random weight instead of a fixed weight
while bit & result != 0:
bit = 1 << randrange(nbits)
# An XOR might be a better idea here, especially if you remove the loop.
result |= bit
return result
-121--4529253- По источникам , scipy.io.wavfile.read (somfile)
возвращает кортеж из двух предметов: первый - частота дискретизации в выборках в секунду, второй - массив numpy
со всеми данными, считанными из файла. Выглядит довольно легко в использовании!
eg:
from scipy.io import wavfile
fs, data = wavfile.read('./output/audio.wav')
-121--870558- По соглашению следует добавить событие OnResizing
, которое срабатывает только тогда, когда оно должно измениться, но не изменилось, а затем запустить OnResize
после изменения размера. Старое значение будет получено из события EventArg
в событии OnResizing
.
Изменить:
создаете ли вы собственное событие или запускаете один из включенных элементов управления?
Если вы делаете собственное событие, вы можете извлечь из EventArg
и сделать что-то вроде ResityEventArg
, которые включают размер нужной вещи.
Я использую ResityEventArg
для событий Resize
и OnResizing
и продолжаю следовать тому, что я сказал ранее.
Или, если вы знаете, какой это тип управления, вы можете привести Отправитель объекта
в тип и затем прочитать свойство.