Dobry den, jde nejak zavolat c# knihovnu v silverlight (jak to zkusim tak mi napise ze silverlight podporuje pouze silverlight knihovny)...diky
Příspěvky odeslané z IP adresy 77.48.244.–
Dobry den, zkousel jsem tady tento kod (silverlight) ale e.result mi vyhazuje vyjimku System.SecurityException, kde je problem?? Popr. jak jinak jinak ziskat XML diky za odpovedi
private void SearchBtn_Click(object sender, RoutedEventArgs e)
{
// Získání textu z TopicTB TextBoxu
string topic = TopicTB.Text;
// Vytvoření URL pro stažení výsledků z Digg.com
string diggUrl =
string.Format(
"http://services.digg.com/stories/topic/{0}?count=20&appkey=http%3A%2F%2Fprogramujte.com", topic);
// Práce s WebClientem
WebClient diggService = new WebClient();
diggService.DownloadStringCompleted += DiggService_DownloadStoriesCompleted;
diggService.DownloadStringAsync(new Uri(diggUrl));
}
private void DiggService_DownloadStoriesCompleted(object sender,DownloadStringCompletedEventArgs e)
{
if (e.Error == null)
{
string result = e.Result;
// Todo: Zpracování XML uloženého v result
}
}
Ahoj potřebuji pomoct s jednim dukazem 5n/2 >= 2n-2 pro sude n a n>=12, pomoci matematicke indukce ...Diky
To Grungy : diky taky me to mohlo napadnout
Ahoj prosím mam problem s takovym dukazem že x*x = x+x kde x je realne cislo vim ze tato rovnost plati pro 0 a pro 2 a pro dalsi cisla chci dokazat ze to nepalti... ale nevim jak na to diky
To LiborBes : ono už to je vyřešene a nic jsem nemusel instalovat jenom sem si stahl trochu jinou knihovnu a jede to
To Janča : mas tam problem v tom i-- používaš ho 2 krat takže vždycky¨ nějake číslo přeskočíš
Ahoj do visual studia asp.net jsem pridal nove prvky (AJAX Toolkit)
pak sem vlozil tento kod jenze po zobrazeni v prohlizeci se mi zobrazi pouze textbox bez kalendare kdyz do neho kliknu... nevite kde je chyba pouze jsem pridal novou kartu a tam sem pridal .dll soubor od ajax toolkit,je jeste potreba neco udelat??? diky
<%@ Page Language="C#" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<div>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:CalendarExtender ID="CalendarExtender1" runat="server" TargetControlID="TextBox1">
</asp:CalendarExtender>
<asp:SliderExtender ID="SliderExtender1" runat="server" Minimum="5" Maximum="66" TargetControlID="TextBox1">
</asp:SliderExtender>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</form>
</body>
</html>
To ACM : mi to slo tak ze sem vymazal obsah toho konstruktoru
To javax : uz nic je to vyresene problem byl trochu jinde
Ahoj mam problem s odpojenim pri ukonecni programu, s odpojenim Tcpklient a networkstream
zkousel jsem to timto zpusobem coz by slo ale nastal problem ze jak odpojim klient.close nebo networkstream.close() tak to vyhodi vyjimku, nevim cim to je, tu vyjimku vyhazuje viz. kod popsane, mozna ze je to tim ze jakmile to odpojim tak se to druhe vlakno snazi cist data pri odpojenem klientovi... nevim jak to vyresit prosim poradte a omlouvam se za malo citelny kod
protected override void OnClosed(EventArgs e)
{
nas.Close();
klient.Close();
base.OnClosed(e);
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Net.Sockets;
using System.Windows.Media.Animation;
using System.Net;
using System.IO;
using System.Threading;
using ClassLibrary3;
namespace VIAPISKVORKY
{
public partial class MainWindow : Window
{
private int x = 0;
private int y = 0;
private TcpClient klient;
private Thread proc;
private NetworkStream ns;
public delegate void Delegat(int n, int m);
private Delegat deleg;
public static int a = 10;
public static int b = 10;
private int[,] pole = new int[a, b];
private Checkclass kontrola = new Checkclass();
private Mybutton[,] polebtn = new Mybutton[a, b];
private Mybutton[] polebtn1 = new Mybutton[5];
private bool stav=true;
private Mybutton buttonn;
public MainWindow()
{
InitializeComponent();
textBlock1.Text = "Pripoj";
vytvorplochu();
plochaviteze();
proc = new Thread(new ThreadStart(slys));
deleg = new Delegat(dej);
}
public void vytvorplochu()
{
for (int i = 0; i < 10; i++)
{
for (int c = 0; c < 10; c++)
{
Mybutton button = new Mybutton();
button.Margin = new Thickness(x, y, 0, 0);
button.X = c;
button.Y = i;
polebtn[c, i] = button;
button.Click += new RoutedEventHandler(button_Click);
button.Width = 20;
button.Height = 20;
canvas1.Children.Add(button);
x += 20;
}
x = 0;
y += 20;
}
}
public void plochaviteze()
{
int kam = 0;
for (int d = 0; d < 5; d++)
{
buttonn = new Mybutton();
buttonn.Margin = new Thickness(kam, 204, 0, 0);
buttonn.Width = 20;
buttonn.Height = 20;
buttonn.Background = Brushes.DarkBlue;
buttonn.X = d;
polebtn1[d] = buttonn;
canvas1.Children.Add(buttonn);
kam += 40;
}
}
public void animace(Mybutton aRectangle,int x,int y,int cas)
{
NameScope.SetNameScope(this, new NameScope());
TranslateTransform animatedTranslateTransform =
new TranslateTransform();
aRectangle.RenderTransform = animatedTranslateTransform;
this.RegisterName(
"AnimatedTranslateTransform", animatedTranslateTransform);
DoubleAnimationUsingKeyFrames translationAnimation
= new DoubleAnimationUsingKeyFrames();
DoubleAnimationUsingKeyFrames translationAnimation1
= new DoubleAnimationUsingKeyFrames();
translationAnimation.BeginTime = new TimeSpan(0, 0, cas);
translationAnimation1.BeginTime = new TimeSpan(0, 0, cas);
translationAnimation.KeyFrames.Add(
new LinearDoubleKeyFrame(
x,
KeyTime.FromTimeSpan(TimeSpan.FromSeconds(1)))
);
translationAnimation1.KeyFrames.Add(
new LinearDoubleKeyFrame(
y,
KeyTime.FromTimeSpan(TimeSpan.FromSeconds(1)))
);
Storyboard.SetTargetName(translationAnimation, "AnimatedTranslateTransform");
Storyboard.SetTargetName(translationAnimation1, "AnimatedTranslateTransform");
Storyboard.SetTargetProperty(
translationAnimation, new PropertyPath(TranslateTransform.XProperty));
Storyboard.SetTargetProperty(
translationAnimation1, new PropertyPath(TranslateTransform.YProperty));
// Create a storyboard to apply the animation.
Storyboard translationStoryboard = new Storyboard();
translationStoryboard.Children.Add(translationAnimation);
translationStoryboard.Children.Add(translationAnimation1);
translationStoryboard.Begin(aRectangle);
}
public void dej(int n, int m)
{
polebtn[n, m].Background = Brushes.Red;
textBlock1.Text = "Hraj";
}
public void button_Click(object sender, RoutedEventArgs e)
{
Mybutton send = (Mybutton)sender;
if (stav == true && pole[send.X, send.Y] != 1 && pole[send.X, send.Y] != 2)
{
stav = false;
textBlock1.Text = "Nehraj";
send.Background = Brushes.Black;
pole[send.X, send.Y] = 1;
Stack<int> zas = new Stack<int>();
if (kontrola.kontroluj(1, pole,zas) == 1)
{
textBlock1.Text = "Vyhral";
int plus = 0;
int cas = 1;
for (int k = 0; k < 5; k++)
{
int y=zas.Pop();
int x=zas.Pop();
animace(polebtn1[k], ((x) * 20) - plus, ((y) * 20) - 204,cas);
cas += 1;
plus = plus+40;
}
}
string xx = send.X.ToString();
string yy = send.Y.ToString();
pripoj(xx, yy);
}
}
public void pripoj(string xx, string yy)
{
try
{
ns = klient.GetStream();
Byte[] x;
x = System.Text.Encoding.ASCII.GetBytes(xx + "," + yy);
ns.Write(x, 0, x.Length);
}
catch (InvalidOperationException error)//tady haze vyjimku
{
MessageBox.Show(error.Message);
if (ns != null)
ns.Close();
}
catch (Exception error1)
{
MessageBox.Show(error1.Message);
if (ns != null)
ns.Close();
}
//ns.Close();
}
public void slys()
{
if (klient != null)
{
while (true)
{
try
{
string[] words;
ns = klient.GetStream();
byte[] data = new byte[1024];
ns.Read(data, 0, data.Length);
string xxx = System.Text.Encoding.ASCII.GetString(data);
words = xxx.Split(",".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
stav = true;
int fir = Int32.Parse(words[0]);
int two = Int32.Parse(words[1]);
pole[fir, two] = 2;
this.Dispatcher.Invoke(deleg, new object[] { fir, two });
}
catch (InvalidOperationException error)
{
MessageBox.Show(error.Message);
if(ns!=null)
ns.Close();
}
catch(Exception error1)
{
MessageBox.Show(error1.Message);
if (ns != null)
ns.Close();
}
}
}
}
private void button_Click1(object sender, EventArgs e)
{
try
{
klient = new TcpClient(ip.Text, Int32.Parse(port.Text));
{
proc.Start();
textBlock1.Text = "Jed";
BitmapImage bi3 = new BitmapImage();
bi3.BeginInit();
bi3.UriSource = new Uri("/VIAPISKVORKY;component/Images/zamek2.jpg", UriKind.Relative);
bi3.EndInit();
image1.Stretch = Stretch.Fill;
image1.Source = bi3;
}
}
catch (SocketException err)
{
MessageBox.Show(err.Message);
if (klient !=null)
klient.Close();
}
catch (ArgumentException err1)
{
MessageBox.Show(err1.Message);
}
catch (Exception err2)
{
MessageBox.Show(err2.Message);
if(klient !=null)
klient.Close();
}
}
private void button1_MouseEnter(object sender, MouseEventArgs e)
{
button1.Background = Brushes.Blue;
}
}
}
To yterbium : uz se mi podarilo zprovoznit pohyb tlacitka...
To liborb : diky moc bylo to mysleno nejak tatkto (uz to funguje)
public partial class MainWindow : Window
{
private int q = 0;
private int w = 0;
private TcpListener list;
public delegate void Delegat(int n, int m);
private Delegat deleg;
private Thread proc;
private string xxx;
public static int a = 10;
public static int b = 10;
private Mybutton button;
public void ukaz()
{
for (int i = 0; i < 10; i++)
{
for (int c = 0; c < 10; c++)
{
button = new Mybutton();
button.Margin = new Thickness(q, w, 0, 0);
button.X = c;
button.Y = i;
polebtn[c, i] = button;
button.Click += new RoutedEventHandler(button_Click);
button.Width = 20;
button.Height = 20;
canvas1.Children.Add(button);
q += 20;
}
q = 0;
w += 20;
}
}
private Mybutton[,] polebtn=new Mybutton[a, b];
public MainWindow()
{
InitializeComponent();
ukaz();
deleg = new Delegat(dej);
proc = new Thread(new ThreadStart(slys));
proc.Start();
}
public void slys()
{
IPAddress ip = IPAddress.Parse("127.0.0.1");
list = new TcpListener(ip, 2112);
list.Start();
TcpClient klient = list.AcceptTcpClient();
while (true)
{
string[] words;
NetworkStream str = klient.GetStream();
byte[] data = new byte[1024];
str.Read(data, 0, data.Length);
xxx = System.Text.Encoding.ASCII.GetString(data);
words = xxx.Split(",".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
MessageBox.Show(words[1]);
int fir = Int32.Parse(words[0]);
int two = Int32.Parse(words[1]);
this.Dispatcher.Invoke(deleg, new object[]{fir,two});
// polebtn[System.Convert.ToInt32(g), System.Convert.ToInt32(f)].BackColor = Color.Black;
//polebtn[fir, two].Name = "jan";
// proc.Start();
//list.Stop();
//klient.Close();
//str.Close();
}
}
public void dej(int n, int m)
{
polebtn[n, m].Background = Brushes.Black;
}
To liborb : prosimte nemuzes mi to ukazat primo v tom kode, ja sem z toho cely zmateny...diky
To CZechBoY : v c# ale ja mam udelat metodu moj.BeginAnimation(Button.WidthProperty, widthAnimation); mam na mysli Button.WidthProperty, jak sem zkousel delat pohyb v Pointanimation ale tam to slo pouze s Elipsou a ted nevim jak s buttonem...
To liborb : no ja mam takovy kod kde menim vlastnosti jako width a height, s pomoci Button.WidthProperty.. jenze zadna promena nebo vlatsnot v Button. ... Left, Top, nebo BackColor tam neni???
InitializeComponent();
TimeSpan x = new TimeSpan(3);
RepeatBehavior c = new RepeatBehavior(1);
DoubleAnimation widthAnimation =
new DoubleAnimation(120, 300, TimeSpan.FromSeconds(2));
widthAnimation.RepeatBehavior = c;
widthAnimation.AutoReverse = true;
moj.BeginAnimation(Button.WidthProperty, widthAnimation);
moj.BeginAnimation(Button.HeightProperty, widthAnimation);
Cau mam tady problem v casti polebtn[fir, two].Name = "jan"; kde mi to vyhodi vyjimku tady je preklad "Volající vlákno nemůže přistupovat tohoto objektu, protože jiné vlákno vlastní ji." prosim poradte, ja uz jsem z toho cely zmateny... diky
public partial class MainWindow : Window
{
private int q = 0;
private int w = 0;
private TcpListener list;
private Thread proc;
private string xxx;
public static int a = 10;
public static int b = 10;
private Mybutton button;
public void ukaz()
{
for (int i = 0; i < 10; i++)
{
for (int c = 0; c < 10; c++)
{
button = new Mybutton();
button.Margin = new Thickness(q, w, 0, 0);
button.X = c;
button.Y = i;
polebtn[c, i] = button;
button.Click += new RoutedEventHandler(button_Click);
button.Width = 20;
button.Height = 20;
canvas1.Children.Add(button);
q += 20;
}
q = 0;
w += 20;
}
}
private Mybutton[,] polebtn=new Mybutton[a, b];
public MainWindow()
{
InitializeComponent();
ukaz();
proc = new Thread(new ThreadStart(slys));
proc.Start();
}
public void slys()
{
IPAddress ip = IPAddress.Parse("127.0.0.1");
list = new TcpListener(ip, 2112);
list.Start();
TcpClient klient = list.AcceptTcpClient();
while (true)
{
string[] words;
NetworkStream str = klient.GetStream();
byte[] data = new byte[1024];
str.Read(data, 0, data.Length);
xxx = System.Text.Encoding.ASCII.GetString(data);
words = xxx.Split(",".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
MessageBox.Show(words[1]);
int fir = Int32.Parse(words[0]);
int two = Int32.Parse(words[1]);
// polebtn[System.Convert.ToInt32(g), System.Convert.ToInt32(f)].BackColor = Color.Black;
polebtn[fir, two].Name = "jan"; // Tady je chyba
// proc.Start();
//list.Stop();
//klient.Close();
//str.Close();
}
}
Ahoj mam dotaz jdou udelat animace tlacitka a to posun nebo zmena barvy nebo jdou tyto animace delat pouze u elipsy nebo rectangle, u tlacitka mi sla jenom zmena sirky a vysky...? diky
To City : jeste jedna otazka ja mu zmenim pozadi talcitka kdyz dam button.Backround = Brushes.Black; tak se nezmeni jenom tlacitko ale cela plocha...? diky
To City :
button.AddHandler(Button.ClickEvent, new RoutedEventHandler(TL_Click));
Diky tomuto uz funguje udalost Click
To Anonymní uživatel : no ja to tak zkousel uz ale me se vygenerovala pouze tady tato metoda do tridy toho tlacitka ale ta button.Click uz tam nebyla ve tride kde sem to tlacitko dynamicky vytvoril
private void btnTlacitko_Click(object sender, RoutedEventArgs e)
{
}
Ahoj ve WPF sem si vytvoril novy prvek ktery dedi z usercoontrol jako novy prvek sem v grafickem rezimu vytvoril nove tlacitko, pak sem dynamicky v c# vytvoril moje vytvorene tlacitko ale v nabidce jsou udalosti jako doubleclick atd ale chybi zde udalost click. Chtěl bych se zeptat jaky je duvod a jetsli tam nejde nejak dodelat... diky
To Chrasty : no tuto metodu grupbox nenabizi
Ahoj ve wpf sem su udelal novy prvek button mam dotaz jak tento prvek dostanu do groupbox protoze vlastnost Controls a metoda add zde nejsou ?
<Grid>
<Button Name="cau" Background="Black" Margin="100,100,125,111">
</Button>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
Muj x = new Muj();
groupBox1.//zde neni metoda controls
}
private void Muj_Click(object sender, RoutedEventArgs e)
{
}
}
To KIIV : diky zkusim to nejak udelat, kdyz tak napisu
To KIIV : diky ono ja vim co ty metody delaji ale ja sem sem se zameril pouze na ten soubor s tim Tcpklient a ten druhy sem vubec nezkoumal
tak ja tady dam ten projekt protoze mi to porad dela to same tzn. ze jakmile dam klient = new TcpClient(ip.Text, Int32.Pars(port.Text)); na nejake tlacitko ktere spustim tak odeslu pouze prvni souradnice a dale uz ne... a ted nevim co s tim
using System;
using System.Collections.Generic;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Net.Sockets;
using System.Net;
using System.IO;
namespace GAME
{
public partial class Form1 : Form
{
public static int a = 20;
public static int b = 20;
private MyButton button;
public Form1()
{
InitializeComponent();
groupBox1.Size = new Size(300, 300);
ukaz();
}
private MyButton[,] polebtn = new MyButton[a, b];
public void ukaz()
{
int c = 0;
int d = 0;
for (int i = 0; i < 300; i += 15)
{
for (int k = 0; k < 300; k += 15)
{
button = new MyButton();
button.BackColor = Color.White;
button.Location = new Point(k, i);
button.Size = new Size(15, 15);
button.X = c;
button.Y = d;
polebtn[c, d] = button;
button.Click += new EventHandler(button_Click);
groupBox1.Controls.Add(button);
c++;
}
c = 0;
d++;
}
}
private TcpClient klient = null;
private NetworkStream ns;
public void button_Click(object sender, EventArgs e)
{
MyButton send = (MyButton)sender;
polebtn[send.X, send.Y].BackColor = Color.Black;
string xx = send.X.ToString();
string yy = send.Y.ToString();
pripoj(xx, yy);
}
void pripoj(string xx, string yy)
{
ns = klient.GetStream();
Byte[] x;
x = System.Text.Encoding.ASCII.GetBytes(xx + "," + yy);
ns.Write(x, 0, x.Length);
// klient.Close();
//ns.Close();
}
private void button1_Click(object sender, EventArgs e)
{
klient = new TcpClient(ip.Text, Int32.Parse(port.Text));//zde nevim co s tim
}
}
}
a prijimac
using System;
using System.Collections.Generic;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Net;
using System.Net.Sockets;
using GAME;
using System.Threading;
namespace PRIJIMAC
{
public partial class Form1 : Form
{
private ArrayList ooo = new ArrayList();
private Thread proc;
/// <summary>
public static int a = 20;
public static int b = 20;
private MyButton button;
private MyButton[,] polebtn = new MyButton[a, b];
public void ukaz()
{
int c = 0;
int d = 0;
for (int i = 0; i < 300; i += 15)
{
for (int k = 0; k < 300; k += 15)
{
button = new MyButton();
button.BackColor = Color.White;
button.Location = new Point(k, i);
button.Size = new Size(15, 15);
button.X = c;
button.Y = d;
polebtn[c, d] = button;
//button.Click += new EventHandler(button_Click);
groupBox1.Controls.Add(button);
c++;
}
c = 0;
d++;
}
}
/// </summary>
///
private TcpListener list;
private TcpClient klient;
public Form1()
{
InitializeComponent();
ukaz();
IPAddress ip = IPAddress.Parse("127.0.0.1");
list = new TcpListener(ip, 2112);
groupBox1.Size = new Size(300, 300);
proc = new Thread(new ThreadStart(slys));
proc.Start();
}
private int i = 0;
private string f, g;
private string xxx;
public void slys()
{
list.Start();
while (true)
{
string[] words;
klient = list.AcceptTcpClient();
NetworkStream str = klient.GetStream();
Byte[] data = new Byte[10];
str.Read(data, 0, data.Length);
xxx = System.Text.Encoding.ASCII.GetString(data);
words = xxx.Split(",".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
// polebtn[System.Convert.ToInt32(g), System.Convert.ToInt32(f)].BackColor = Color.Black;
polebtn[Int32.Parse(words[0]), Int32.Parse(words[1])].BackColor = Color.Black;
// proc.Start();
//list.Stop();
//klient.Close();
//str.Close();
}
}
}
}
To liborb : ja sem zksuil vytvrorit tlacitko, kde udelam spojeni, ale odešle se pouze jedna souřadnice x, y a další už ne...
private void button1_Click(object sender, EventArgs e)
{
klient = new TcpClient(ip.Text, Int32.Parse(port.Text));
}
To liborb : no diky za to rozdeleni už to staci pouze jednou odeslat ale jak je to stim spojenim
klient = new TcpClient(ip.Text, Int32.Parse(port.Text)); musim ho pokazde vytvaret znovu protoze to zabira docela dost casu a pak to neni plynule??
To liborb : ale tak abych mohl prevest ty souradnice na byte tak ta metoda nabizi pouze string a pole charu. A vsak ja ty souradnice neposilam jako string ale pole bajtu.
Ahoj mam dotaz ohledne odesilani dat jinemu pc mam takovy kod, kde se snazim posilat jenom 2 souradnice tlacitka jakmile kliknu na tlacitko, jenze nevim jak udelat aby se obe x,y souradnice odeslaly najednou a mohl je prijmout tak abych je mohl rozlisit nebot kdyz je odelsu najednou tak pak prijmu jeden string coz je mi na nic protoze mi prijde jedno cislo.A posilani 2 cisel zvlast asi neni nejrychlejsi.
A jeste dotaz jde nejak udelat ze bych vytvoreni spojeni klient = new TcpClient(ip.Text, Int32.Parse(port.Text)); udelal pouze jednou a pak bych jenom odesilal data, nebo vyzaduje pri kazdem odesilani dat vytvoreni spojeni. Diky za odpoved
public void button_Click(object sender, EventArgs e)
{
MyButton send = (MyButton)sender;
polebtn[send.X, send.Y].BackColor = Color.Black;
string xx = send.X.ToString();
string yy = send.Y.ToString();
pripoj(yy);
pripoj(xx);
}
void pripoj(string xx)
{
klient = new TcpClient(ip.Text, Int32.Parse(port.Text));
ns = klient.GetStream();
ns1 = klient.GetStream();
Byte[] x;
x = System.Text.Encoding.ASCII.GetBytes(xx);
ns.Write(x, 0, x.Length);
// klient.Close();
// ns.Close();
}
}
To Chrasty : můžeš mi pls napsat jak takove pole vytvořit ArrayList v ArrayListu...díky
Ahoj jak vytvorim v c# dvojrozmerne dynamicke pole dik?
Ahoj snazim se vytvorit novy ovladaci prvek ktery dedic z button jenom mu chci dat nejake nove vlatsnosti jenze mi to vypise chybu neobsahuje definici AutoScaleMode co to znamena, popr. nevite o nejakem clanku na vytvoreni noveho ovladaciho prvku diky
se jednou vratim k tomu posialni a přijimani dat přes internet protože stale mi to neni jasne, zkoušel jsem data posílat přes TCPclient a přijimat pomoci TCPListener jenže to všecko bylo na jednom pc nebo počítače připojene přes lan... ted by mě zajimalo jak když mam 2 pc připojené k internetu a u každeho znam ip adresy jak je spojit to mi neni jasne...pokud byste mi mohli napsat kratky příklad díky
To splite : děkuji ti za kompletní vysvětlení kdyby něco tak se ozvu díky
To splite : ono mi to ted nejak dochazi ze vlastne List hleda ke trizeni rozhrami IComparable, jinak pouzije vychozi rozhrani?? Jenom by me zajimalo kdyz pouziju nejake jine rozhrani ktere dela neco jineho tak jak poznam ze nejake metoda jak tady u List (sort) toto rozhrani pouzije?? To je asi blba otazka ale jeste to nemam v hlave nejak urovnane
To splite : no tak dobra ja si vytvařim teda vlastní interface třeba IPorovnavej kde bude metoda (prototyp) int porovnej (object co) bude to pak plnit stejnou funkci jak IComparable nebo IComparable ma neco navic než moje vytvořená interface???diky
To PeterM : ja vim ze rozhrani uvadi jenom prototypy funkci ktere pak musim jak z něj dědit jej překryt ale dejme tomu tento priklad
class Obdelnik : ITvar, IComparable
{
public int delka;
public int vyska;
public Obdelnik(int delkaValue, int vyskaValue)
{
delka = delkaValue;
vyska = vyskaValue;
}
public int Obsah
{
get { return delka * vyska; }
}
public int Obvod
{
get { return (delka+vyska)*2; }
}
public string VratNazevTvaru()
{
return "Obdelník";
}
public int CompareTo(object obj)
{
Obdelnik other = (Obdelnik)obj;
return Obsah.CompareTo(other.Obsah);
}
}
tady musel implementovat CompareTo, ale ted me zajima k čemu to je dobre když ja vubec nemusim používat žádne rozhrani a jenom si napíšu tutež metodu (třeba i s jinym názvem) a bude to fungovat stejně i bez toho rozhrani?? Tak diky za odpovědi
Ahoj mam dotaz k rozhraním, něco mi není jasné když vytvařím svou třídu a dědím nějake rohraní už udělané např IComparer která mam metodu int IComparer.Compare(object a, object b), tak na co používám tuto metodu když si ji stejnak musim vymyslet sám?? Neni lepší a jednodušší si napsat svoji vlastni metodu aniž bych dědil nějake rozhraní??
Ahoj chci klonovat 2 objekty vykousel jsem tento postup ale nevim jetsli je spravny diky za jekekoliv pripomminky...
class Klon : ICloneable
{
private int hodnota;
public Klon(int hodnota)
{
this.hodnota = hodnota;
}
public object Clone()
{
Klon x = base.MemberwiseClone() as Klon;
return x;
}
public void vypis()
{
Console.WriteLine(hodnota);
}
To velurex : ono mi ale ted neni moc jasne jak navazat kontakt s nejakym vzdalenym pc pres internet, kdyz sem to mel pripojene pres lan tak stacila zadat ip adresa, ale pres internet nevim jak na to?
To liborb : diky pokud by o tom byl nejaky serial tak mi ho prosim poslete krome zive.cz
To liborb : no ono tedkom ani nezaleží jaky typ protože to chci jenom vyzkoušet jak to funguje, pak to budu řešit dal jaky typ vybrat ale ted nevim jak postupovat dále??
Ahoj pomoci jake metody je možné komunikovat mezi 2 a vice pc přes internet (posilani zprav atd...) ? Je na to možné použít net remoring který jsem zkoušel jenom přes lan nebo existuje nějaka jina lepší metoda. Díky za odpovědi
Ahoj chtěl pochopit jak pracuje backtraking, ale na internetu sem nenašel žadná pořádná vysvětlení, tak kdybyste o tomto problemu něco měli nebo nějake vaše vysvětlení byste sem mohli dát??? Děkuji za jakekoliv rady
To ondra.holub : dik ale ono se rozhodne kolik těch poli bude až v běhu toho programu což se může měnit, ted tam musim mit pevný počet FORU(myslím)... ale díky jen je mi divne že sem na to nepřišel sám
To KIIV : ja už fakt nechci otravovat ale neexistuje nějaky jiančí způsob protože tady tomu nejak nerozumim
To KIIV : musim si to nějak promyslet, zatim mi to neni moc jasne (ne ty binarni operace ale jak to vyuzit v tech kombinacich)
To KIIV : prosim te nemohl bys to vice rozepsat dik
Ahoj,mam jdeden problem se kterym si nejak nedokazu poradit, mam n poli a každe pole obsahuje 2 prvky(int) a ted s tema polema potrebuju udelat vseckny mozne kombinace...
napr.: 3 pole : pole1[2,7] pole2[8,9] pole3[1,6] z toho potrebuju tyto kombinace
2,8,1
2,8,6
2,9,1
2,9,6
7,8,1
7,8,6
7,9,1
7,9,6
Diky za jakekoliv rady...
no predtim sem to zmeril v debug kde to trvalo 6.6 sekund...
ted jsem to zkusil znova v release konfiguraci a trvalo to pouze 1.66 sekund a rekurzivni verze trvala 1.616 takze opravdu minimalni rozdil...
jinak ten vlatsni zasobnik sem mel v planu si udelat (uz sem ho skoro mel) ale jednodussi moznost mi prisla pouzit nejaky uz napsany... jinak ti diky za vysvetleni
To liborb : ja sem tu rekurzivni funkci pouzil z internetu
void inorder1(Tree *tree)
{
if(tree!=NULL)
{
inorder1(tree->left);
cout<<tree->hodnota<<" ";//tady fprintf
inorder1(tree->right);
}
}
jo naplneni sem udelal u obou stejne (metoda i cisla)
To liborb : no ja jsem stejne meril jenom cas inorderu bez vkladani, ktere sem delal nebo snazil delat bez rekurze (jinak je tam pouzito cteni a zapis ze souboru z C)
#include <iostream>
#include <stack>
#include <ctime>
using namespace std;
struct Tree
{
Tree *left;
Tree *right;
int hodnota;
};
stack<Tree*> xx;
Tree *tree=NULL;
Tree *prevnod = new Tree;
Tree *koren = new Tree;
int c = 0;
void uzel(int cislo)
{
tree = new Tree;
tree->hodnota = cislo;
tree->left = NULL;
tree->right = NULL;
}
void vloz(int cislo)
{
if(c==0)
{
uzel(cislo);
koren = tree;
c=1;
}
else
{
tree=koren;
while(true)
{
if(cislo<tree->hodnota)
{
if(tree->left == NULL)
{
prevnod = tree;
uzel(cislo);
prevnod->left = tree;
break;
}
else
{
tree = tree->left;
}
}
if(cislo>tree->hodnota)
{
if(tree->right == NULL)
{
prevnod = tree;
uzel(cislo);
prevnod->right = tree;
break;
}
else
{
tree = tree->right;
}
}
if(cislo==tree->hodnota)
break;
}
}
}
Tree *sklad = new Tree();
Tree *co = new Tree();
int d = 0;
//inorder
void inorder()
{
FILE *fw;
char *text2;
text2 = new char[15];
text2 = "setrideno.txt";
fw=fopen(text2, "w");
//nastavim na koren stromu
tree = koren;
zacatekcyklu:
while(d==0)
{
while(tree!=NULL)
{
xx.push(tree);
if(tree->left==NULL)
{
break;
}
tree = tree->left;
}
pryc:
if(tree->right!=NULL)
{
sklad = xx.top();
fprintf(fw, "%d\n", sklad->hodnota);
tree = tree->right;
xx.pop();
}
else
{
sklad = xx.top();
fprintf(fw, "%d\n", sklad->hodnota);
xx.pop();
if(xx.empty())
{
d=1;
goto zacatekcyklu;
}
tree = xx.top();
goto pryc;
}
}
}
int main()
{
FILE *fr;
int c;
int i = 0;
cout<<"Zadej s kym chces prunik\n";
char *text;
text = new char[15];
cin>>text;
if ((fr = fopen(text, "r")) == NULL)
{
cout<<"Soubor cisla se nepodarilo otevrit\n";
return 0;
}
//vkladani
while (fscanf(fr, "%d", &c) != EOF)
{
vloz(c);
}
cout<<"\nPracuji na inorderu";
//mereni a inorder
clock_t start, end;
start = clock();
inorder();
end = clock();
cout<<"Cas\n"<<(
(double)( end - start ) / (double)CLOCKS_PER_SEC );
}
To KIIV : ono je to hodně špatně napsane (vim že se goto nema používat) ale je to prostě napsane tak aby to šlo, určitě to ještě někdy nějak spravim abych to goto odstranil a další "nepřesnosti" tak mi prosim dejte vědět co a jak díky
Tree *sklad = new Tree();
Tree *co = new Tree();
int d = 0;
void inorder()
{
tree = koren;
zkuscyklus:
while(d==0)
{
while(tree!=NULL)
{
xx.push(tree);
if(tree->left==NULL)
{
break;
}
tree = tree->left;
}
pryc:
if(tree->right!=NULL)
{
sklad = xx.top();
cout<<sklad->hodnota;
tree = tree->right;
xx.pop();
}
else
{
sklad = xx.top();
cout<<sklad->hodnota;
xx.pop();
if(xx.empty())
{
d=1;
goto zkuscyklus;
}
tree = xx.top();
goto pryc;
}
}
}
To fitness : ja si jinak nedokažu představit jak chci použít zasobnik tak že ten posledni prvek vždycky nevyberu a nevložím nějaky další ...
To KIIV : no tak ty cisla se vypisujou do souboru jak v rekurzivnim tak nerekurzivnim...
Ahoj zkousel jsem si delat nerekurzivni pruchod stromem (inorder) pomoci zasobniku, jenze pri mereni jsem zjistil ze tento zpusob zabere pro 1000 000 cisel 6.6 sekund. Pak sem zkusil rekuzivni zpusob a ten trva jenom 2.5 s. Jakto ze je to takto pomale ??? Muze to byt kvuli toho zasobniku kde se musi prvky jak vkladat tak vypisovat a odebirat nebo je to jenom muj spatny algoritmus ( coz nemuzete posoudit ) Diky za odpovedi...
To ooo : jinak jeden je ztratovy a druhy bezeztratovy
To koudis : google
ahoj kdyz chci pouzit v c# Linq a mam takovy kod
var dam = from z in tempo
from c in z.Jmeno
select c;
foreach (var x in dam)
{
Console.WriteLine("Jmeno {0}", x);
}
jakto ze se to pak vypise kazdy znak zvlast...diky
To liborb : ja ani nechci nic konkretniho, chci jenom vedet jak je mozne ty soubory nejak nacitat a pak s nima pracovat doplnovat je a tak ... jetsli je nejaky serial o tom tak mi to prosim napiste ... ja sem zatim nasel pouze serializaci..kde ale nevim jak je možne ten soubor dal používat
To liborb : no a co znamena ten normalni soubor
To liborb : mam jeste dotaz vytvoril sem tridu ktera je [Serializable] v te tride sem vyvoril nejaky arraylist, pak sem to ulozil do binarniho souboru, ale ted nevim jetsli to nejak jde ze bych ten soubor otevrel kde uz jsou ulozene nejake udaje a nejake dalsi udaje bych tam jenom doplnil ( zatim sem si je pokazde jenom prepsal?? diky
To liborb : diky vsem
To marpit : ok zatim diky se zkusim na to podivat
To KIIV : no a jak to tedy uložit když ne registry
To marpit : no mozna, ale co kdyby to byla nejaka jina hra ?? Jak by sem to potom uložil
To KIIV : ne bohužel se nechlubim jen se ptam kde mam umistit ten blok finaly ktery sem už tam omylem nechal aby se v pripade vyjimky uzavrel tu databazi protoze kdyz je to na tom miste kde tedkom tak se to uzavře i kdyžse vyjimka nevyvola
Ahoj mam takovy dotaz, pokud naprikald vytvorim nejakou hru treba piskvrorky, je mozne ulozit do registru nejakou rozehranou hru a pri spusteni se nacte ta rozehrana hra. Existuje nejaky serial o registrech nebo necem kde mohu neco ulozit a pak nacist. Jsem hledal ale nic zajimaveho sem nenašel. tak diky za jakekoliv informace
Ahoj sem se zkousel pripojit k databzi kde sem dal nejakou vyjimku, kde mam potom umistit finaly pro uzavreni spojeni
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
string source = @"Data Source = .\SQLEXPRESS;AttachDbFilename = |DataDirectory|\Database1.mdf;Integrated Security = True;User Instance = True";
string select = "SELECT Prace,Jmeno FROM tblKontakty";
SqlConnection sql = new SqlConnection(source);
try
{
sql.Open();
}
catch (SqlException e)
{
Console.WriteLine(e.Message);
}
finally
{
sql.Close();
}
SqlCommand cmd = new SqlCommand(select, sql);
SqlDataReader reader = null;
try
{
reader = cmd.ExecuteReader();
}
catch (SqlException e)
{
Console.WriteLine(e.Message);
}
while (reader.Read())
{
Console.WriteLine("Prace: {0} Jmeno: {1}",reader[0],reader[1]);
}
}
}
}
To Chrasty : diky
Cau prominte za absolutne blbou otazku, ale kdyz jsem udelal nejakou windows aplikaci a tam sem dal nejake prvky potom v Form1.cs udelal metodu vymaz()
namespace Soubory
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
public void vymaz()
{
textBox1.Text = "aaa";
textBox2.Text = "aaa";
}
}
}
jak ji pak mam zavolat sem to zkousel takto ale neslo to
namespace Soubory
{
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Form1 c = new Form1();
c.vymaz();
Application.Run(new Form1());
}
}
}
To Chrasty : tak to jmeno tridy je spatne tojo... to x.vrat() == 2 sem tam omylem nechal, to tam nema co dělat... no a to nove vlakno to je tam taky asi na nic (ale ja myslim ze tam nedela nic sptaneho) i kdyby to jelo kdybych zavolal jenom tu metodu..jinak ten program nic neznamena me jenom zajima jak to dohromady vsechno spolupracuje...
Pricti x = new Pricti();
var time = new System.Timers.Timer();
time.Interval = 2000;
time.Elapsed += x.cti;
Thread oo = new Thread(() => x.pocitej());
time.Start();
oo.Start();
tady tento program uz pracuje jak ma, jenom nevim jetsli to tak muze byt nebo jak by se to mohlo resit, aby jeden program neco pocital a ten druhy by postupne vypisoval nejeka vysledky po nejakem case... tak diky za jakekoliv pripominky
To qwe : jeste jeden dotaz jak mam u tohoto prikaldu nastavit aby se zastavilo vypisovani cislice 3, nevim kde mam pouzit time.stop()...diky
namespace vlakba
{
class Program
{
static void Main(string[] args)
{
Pricti x = new Pricti();
var time = new System.Timers.Timer();
if (x.vrat() == 2)
{
time.Stop();
}
time.Interval = 2000;
time.Elapsed += x.cti;
Thread oo = new Thread(() => x.pocitej());
oo.Start();
time.Start();
Console.ReadLine();
time.Dispose();
}
}
class Pricti
{
public int i;
public void pocitej()
{
for (int c = 0; c < 3; c++)
{
Thread.Sleep(2000);
i++;
}
}
public void cti(object ss, EventArgs e)
{
Console.WriteLine(i);
}
public int vrat()
{
return i;
}
}
}
type
PRec = ^TRec;
TRec = record
Next: PRec;
end;
var
p: TRec;
...
New(p);
...
Dispose(p);
p := nil;
...
To djanosik : diky... priste uz to tam bude
To Chrasty : diky a neda se to vyresit nejak jinak protoze to se vypisuje dokud nezmacknu klavesu
Ahoj jaky je tady problem ze se nic nevypise diky
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
namespace timervlkana
{
class Program
{
static void Main(string[] args)
{
Neconapis o = new Neconapis();
TimerCallback p = new TimerCallback(o.print);
Timer casovac = new Timer(p, "nic", 0, 1);
}
}
class Neconapis
{
public int i;
public void print(object ss)
{
for (i = 0; i < 3; i++)
{
// Thread.Sleep(2000);
Console.WriteLine("PIsu...");
}
}
}
}
To velurex : to je jenom prikald na procviceni nebot takovy podobny priklad jsem nasel v nejake učebnici tak sem to zkusil přepsat trochu podle sebe...
To liborb : tak mam teda tam dat nejaky prikaz pro předani ,aby se to vypsalo až skončí podprocesy...
a ještě otazka je nutne potom tady davat Interlocked.Increment(ref polozka); nebo by stacilo pouze polozka++ aby byl vysledek milion??
To liborb : no to jo ale kdyz pouyiju
for (int i = 0; i < 50000; i++)
{
Interlocked.Increment(ref polozka);
}
tak vzdycky vyjde milion i kdyz to zobrazeni neceka az se dokonci pricitaniTo velurex : no ono by mel byt vysledek 1000000 jenze to nikdy neni vetsinou 950000 a ja prave chci aby se dokoncil cely ten postup tzn. pricetl jednicku a ulozil jenze tak se to vzdycky nestane...
To qwe : pomoci tady tohtoto zpusobu to funguje
for (int i = 0; i < 50000; i++)
{
Interlocked.Increment(ref polozka);
}
ale zda se mi ze je to hodne omezene
Editoval djanosik: Snažte se prosím vkládat čitelný kód do určených tagů.
Ahoj jak mam synchronizovat tento priklad pomoci lock aby mi soucet dal milion
Sem to zkousel ale nefunguje to, diky za rady a popripade nejake vysvetleni jak ten lock pracuje
namespace vlaknalock
{
class Program
{
static void Main(string[] args)
{
int size = 20;
Thread[] vlakno = new Thread[size];
Pricist aaa = new Pricist(0);
for (int i = 0; i < size; i++)
{
vlakno[i] = new Thread(aaa.pricitam);
}
for (int i = 0; i < size; i++)
{
vlakno[i].Start();
}
Console.WriteLine("Soucet {0} ",aaa.polozka);
}
}
class Pricist
{
public int polozka;
public Pricist(int polozka)
{
this.polozka = polozka;
}
/* public int Polozka
{
get
{
return polozka;
}
}*/
public void pricitam()
{
for (int i = 0; i < 50000; i++)
{
lock(this)
{
polozka += 1;
}
}
}
}
}
To liborb : diky moc vsem, si to musim jeste ujasnit, kdy se to da puzit aby to bylo nejak vyhodne
mam dotaz k vytvareni objektu nebot mi neni jasne proc se to tak musi delat u takovych trid
kdyz vytvarim objekt tak se da vytvaret objekt timto zpusobem Auta *skoda = new Sportovniauta(); tady se pouzije metody tridy sportovni auta, a ted nechapu proc by nebylo lepsi vynechat ty virtualni metody(nebo i s nema) a napsat
Sportovniauta *skoda= new Sportovniauta()...a to same u ciste virtualni tridy ...dekuji za odpoved
class Auta
{
virtual void informace(){cout<<"Trida auta";}
};
class Sportovniauta : public Auta
{
virtual void informace(){cout<<"Trida Sportovni auta";}
};
class Klasickeauta : public Auta
{
virtual void informace(){cout<<"Trida Klasicka auta";}
};
To CZechBoY : no nastaveni ze se mi to ulozi do debug slozky to je.. ale mi jde o ji to ze jak vytvorim nejakou classlibrary a pak ji pres addreference pridam tak se mi zobrazi ty dll v debugu a potom jak vytvarim nejaky program a chci pouzit tu tridu tak mi to nenajde a program se uklada jako release.. ja nevim třeba problem je v něčem uplně jinem a nejpíš aji bude
ahoj prism vas kde se ve visual c# 2008 express edition nastavim debug misto release? diky
To liborb : ok diky ja to ted jenom zkousim ale duvod je ten ze takto alokovane pole je rychlejsi nez pres alokocai pomoci new nebot se tam potrebuje pouze pamet zasobniku...
To liborb : no ja to prave chci pole pomoci pointeru ale nevim proc mi to pise tu chybu
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace polealazasobnik
{
class Test
{
unsafe static void Main()
{
const int arraySize = 20;
int* fib = stackalloc int[arraySize];
int* p = fib;
// The sequence begins with 1, 1.
*p++ = *p++ = 1;
for (int i = 2; i < arraySize; ++i, ++p)
{
// Sum the previous two numbers.
*p = p[-1] + p[-2];
}
for (int i = 0; i < arraySize; ++i)
{
Console.WriteLine(fib[i]);
}
// Keep the console window open in debug mode.
System.Console.WriteLine("Press any key to exit.");
System.Console.ReadKey();
}
}
}
tento kod mi vypise chybu
Error 1 Unsafe code may only appear if compiling with /unsafe C:\Users\Pepek\AppData\Local\Temporary Projects\polealazasobnik\Program.cs 10 29 polealazasobnik
prosim poradte
To celi : prosim nic nepiste uz sem si vsim
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace kolekce
{
class Program
{
static void Main(string[] args)
{
List<Lide> ggg = new List<Lide>();
ggg.Add(new Lide("ccc", "uuii", 11));
ggg.Insert(0,new Lide("dgdg", "dgd", 11));
foreach (Lide oo in ggg)
Console.WriteLine(oo);
}
}
class Lide
{
private string jmeno;
private string prijmeni;
private int vek;
public Lide(string jmeno, string prijmeni, int vek)
{
this.jmeno = jmeno;
this.prijmeni = prijmeni;
this.vek = vek;
}
}
}
mam dotaz k vypisu co je tam spatne ze to nic nevypise diky
To mephi :
int c = 0;
do
{
c = cislo % = 10;
cout<<c;
}while(cislo /= 10);
To Anonymní uživatel : ono kdyby si mel vytvoreny konstruktor tak by ti to zadne bludy nehazalo
To marpit : těcj 100 ma byt u te osoby a ne Tosoba
To liborb : bordel to děla ten že když neznam jetsli to načte o jednu vice nebo meně tak je nemužu setřídit
To liborb : no tak sem to zkusil znova a už to žadnou chybu nepíše ještě mam dotaz jak načítam čísla ze souboru kde každe číslo je na nove řadku a podminka je dokavad se nerovna eof asi tak !s3.eof() no tak pokud dam ten kurzor na novy radek kde neni zadne cislo tak se nacte aji tento radek a ten mi tam potom dela bordel, neda se to nejak pojistit .. díky
Mam dotaz pri alokaci pole int *pole = new int[100]; ktere alokuju ve funkci chci toto pole pomoci delete[] pole; smazat ale v jine funkci ve ktere ji potrebuji ale napise mi chybu pri mazani... prosim poradte co s tim