Vývojáři KDE na Mastodonu oznámili vydání balíku aplikací KDE Gear 26.08. Přehled novinek i s náhledy a videi v oficiálním oznámení.
Společnost PINE64 kvůli nedostatku a vysokým cenám DRAM a eMMC dočasně pozastavuje výrobu linuxových zařízení. Výroba zařízení jako PineTime, PineVoice a Pinecil pokračuje.
Společnost Stripe se dohodla na akvizici společnosti OpenRouter. Za 7,5 miliardy dolarů.
Byla vydána nová verze 1.27 programovacího jazyka Go (Wikipedie). Přehled novinek v poznámkách k vydání.
V pátek 28. srpna se v Praze uskuteční již osmý Mobile Linux Hackday. Jako obvykle se potkáme v pražské pobočce SUSE v Karlíně na Křižíkově, takže kromě mobilního Linuxu je to tentokrát i příležitost přijít se podívat na nově zrekonstruované kanceláře. Začínáme v 10:00, ale dorazit můžete samozřejmě kdykoliv v průběhu dne. Setkáním vás provede David Heidelberg, vývojář GPU ovladačů v Mesa 3D a jeden z hlavních lidí české komunity kolem … více »
Představen byl Raspberry Pi Compute Module 5 Programming Jig. Jedná se o zařízení umožňující připravit Compute Module 5 do plně funkčního stavu bez nutnosti použití dalších vstupně / výstupních desek. Podporuje automatizaci pomocí nástroje rpi-sb-provisioner. Podrobnosti v dokumentaci.
Hackeři ve Francii ukradli data více než půl milionu daňových poplatníků. Je to jeden z největších hackerských útoků v dějinách země. O útoku z konce června informovala až teď daňová správa. Teprve od pondělí dotčeným občanům zasílá e-maily s instrukcemi, jak postupovat dál. Hackeři se sice nedostanou k penězům dotyčných, hrozí ale věrohodné podvody. Hackeři získali třeba celá jména, údaje o rodinných příslušnících nebo také údaje o
… více »Společnost Framework představila nový Framework Laptop 12 s Intel Core Series 3, Thunderbolt 4, Wi-Fi 7, volitelnou čtečkou otisků prstů a podsvícenou klávesnicí s open-source firmwarem ZMK. Objednat lze s předinstalovanou Fedorou 44 KDE Plasma.
Byl vydán Mozilla Firefox 154.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 154 bude brzy k dispozici také na Flathubu a Snapcraftu.
Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 168 (pdf).
Public Class Form1
Dim abeceda() = {"a", "b", "c", "d", "e", "f", "g", "h", "ch", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"}
Private Sub TextBox2_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox2.TextChanged
End Sub
Private Sub TextBox3_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox3.TextChanged
End Sub
Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If ComboBox1.SelectedItem = "Zašifruj" Then
For
Next
ElseIf ComboBox1.SelectedItem = "Rozšifruj" Then
For
Next
Else : MsgBox("Nevybrali jste akci.")
End If
End Sub
End Class
Je mi jasny, ze prepocet jednotlivych pismen v textu na pismena nachazejici se v abecede o 3 mista dale docilim pomoci pole, jednoduse vytvorim pole s abecedou, v poli se mi najde prvni pismeno v textu a posune se o 3 mista dale. Pak se preskoci na druhe pismeno v retezci, najde se v abecede a znovu se posune a tak se to opakuje do doby, nez je zasifrovany cely text. V tomto pripade musim vyuzit cyklus, ktery bude prechazet na dalsi pismena v textu. Jenze netusim, jak s textem v textboxu 2 pracovat jako s jednotlivymi pismeny, jak to prevest? Jak mam s tim textem zadanym do textboxu 2 pracovat?
respektive pokud nepodporuje visualbasic jine nez ciselne indexy, tak pouzij ascii hodnotu znaku (treba stylem znak - 'a', at ty indexy jsou od nuly)
Případně můžu doporučit Qt/Quick/C++ (asi nejlepší technologie na GUI aplikace). Ale učit se dneska VB je IMHO ztráta času.
načti java.awt.GridLayout;
načti java.awt.HeadlessException;
načti java.awt.event.ActionEvent;
načti java.awt.event.ActionListener;
načti java.util.ArrayList;
načti java.util.Collections;
načti java.util.List;
načti javax.swing.JButton;
načti javax.swing.JFrame;
načti javax.swing.JLabel;
načti javax.swing.JTextField;
/**
* @author Ing. František Kučera (frantovo.cz)
*/
veřejná třída Caesar rozšiřuje JFrame {
důvěrné JTextField prostýText = nové JTextField();
důvěrné JTextField šifrovanýText = nové JTextField();
důvěrné JButton šifruj = nové JButton("Šifruj");
důvěrné JButton dešifruj = nové JButton("Dešifruj");
důvěrné stálé konečné char[] ABECEDA_ZNAKY = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789".toCharArray();
důvěrné stálé konečné List<Character> ABECEDA;
důvěrné stálé konečné int SKOK = 3;
stálé {
List<Character> abeceda = nové ArrayList<>();
pro (char z : ABECEDA_ZNAKY) {
abeceda.add(z);
}
ABECEDA = Collections.unmodifiableList(abeceda);
}
veřejné stálé prázdné main(String[] args) {
Caesar c = nové Caesar();
c.setVisible(true);
}
veřejné Caesar() háže HeadlessException {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setTitle("Caesarova šifra");
setLocationRelativeTo(null);
setLayout(nové GridLayout(3, 2));
add(nové JLabel("Prostý text"));
add(prostýText);
add(nové JLabel("Šifrovaný text"));
add(šifrovanýText);
add(šifruj);
add(dešifruj);
šifruj.addActionListener(nové ActionListener() {
@Override
veřejné prázdné actionPerformed(ActionEvent e) {
šifrovanýText.setText(posuň(prostýText.getText(), SKOK));
}
});
dešifruj.addActionListener(nové ActionListener() {
@Override
veřejné prázdné actionPerformed(ActionEvent e) {
prostýText.setText(posuň(šifrovanýText.getText(), -SKOK));
}
});
pack();
}
důvěrné stálé String posuň(String text, int oKolik) {
StringBuilder posunutý = nové StringBuilder(text.length());
pro (char z : text.toCharArray()) {
posunutý.append(posuň(z, oKolik));
}
vrať posunutý.toString();
}
důvěrné stálé char posuň(char znak, int oKolik) {
int původníPozice = ABECEDA.indexOf(znak);
pokud (původníPozice < 0) {
vrať znak;
} jinak {
int nováPozice = (původníPozice + oKolik) % ABECEDA_ZNAKY.length;
nováPozice = nováPozice < 0 ? ABECEDA_ZNAKY.length + nováPozice : nováPozice;
vrať ABECEDA.get(nováPozice);
}
}
}
nový PolníSeznam<>() nebo BezhlaváVýjimka?)
Tiskni
Sdílej: