C# - Problemi i rješenja izdvojena tema

poruka: 2.151
|
čitano: 703.189
|
moderatori: Lazarus Long, XXX-Man, vincimus
+/- sve poruke
ravni prikaz
starije poruke gore
11 godina
protjeran
offline
C# - Problemi i rješenja

Ima li bržeg načina za provjeravanje arraya? Napravio sam dva primjera - Array.Find i Any

Array.Find je brži za duplo od Any. Ima li što brže od Array.Find-a ? Ili neki drugi način, možda sortiranje Arraya prije pretrage?

 

 

string DrawPlane(Point[] plane, int planeWidth, int planeHeight, byte findType)

   {

     Func<int, int, bool> planeExists = (x, y) =>

       {

         switch (findType)

         {

           case 1:

           default:

             return plane.Any(p => p.X == x && p.Y == y);

 

           case 2:

             return Array.Find(plane, p => p.X == x && p.Y == y) != null;

         }

       };

 

     StringBuilder bldr = new StringBuilder();

 

     for (var y = 0; y < planeHeight; y++)

     {

       StringBuilder line = new StringBuilder();

 

       for (var x = 0; x < planeWidth; x++)

       {

         if (!planeExists(x, y))

           line.Append(".");

         else

           line.Append("X");

       }

 

       bldr.AppendLine(line.ToString());

     }

 

     return bldr.ToString();

   }

 

 

 

 

     int planeWidth = 1000;

     int planeHeight = 1000;

     int pointsNum = 50;

     int testCount = 10;

 

     Point[] plane = new Point[pointsNum];

     Random rnd = new Random();

 

     for (var i = 0; i < pointsNum; i++)

     {

       int x = rnd.Next(0, planeWidth);

       int y = rnd.Next(0, planeHeight);

 

       plane[i] = new Point(x, y);

     }

 

     List<long> times1 = new List<long>();

     List<long> times2 = new List<long>();

 

 

     for (var i = 1; i <= testCount; i++)

     {

       Stopwatch watch = new Stopwatch();

       watch.Start();

 

       string ps = DrawPlane(plane, planeWidth, planeHeight, 1);

 

       watch.Stop();

       times1.Add(watch.ElapsedMilliseconds);

     }

 

     for (var i = 1; i <= testCount; i++)

     {

       Stopwatch watch = new Stopwatch();

       watch.Start();

 

       string ps = DrawPlane(plane, planeWidth, planeHeight, 2);

 

       watch.Stop();

       times2.Add(watch.ElapsedMilliseconds);

     }

 

     double avgMs1 = times1.Average();

     double avgMs2 = times2.Average();

Moj PC  
0 0 hvala 0
14 godina
neaktivan
offline
Re: C# - Problemi i rješenja

Ako sam dobro shvatio tebi treba brzo pretraživanje? Najbrža metoda za to je binarno pretraživanje koja zahtjeva da je niz prethodno sortiran.

15 godina
neaktivan
offline
C# - Problemi i rješenja

Pozdrav, imam pitanje.

 

Koristim VS2013 (C# jezik)  i MySQL Connector library pa me zanima kako se spojiti na remote server?

 

Imam hosting koji podržava MySQL baze podataka i ima neku opciju "Remote MySQL" gdje se mogu upisivati hostovi

kojima je dozvoljen pristup, uglavnom, pokušao sam i sa svojom IP adresom, čak i stavljati "%.%.%.%"

(navodno dopušta pristup svima), ali jednostavno ne radi i baci mi exception da nije moguće

spajanje sa MySQL bazama podataka.

 

P.S.

da se razumijemo, pokušao sam i na netu naći rješenje ali nisam uspio, zato

sad pitam ovdje.

Poruka je uređivana zadnji put sub 17.1.2015 0:52 (NiGHT_RiDER92).
Moj PC  
0 0 hvala 0
16 godina
odjavljen
offline
C# - Problemi i rješenja

Narode, pomagajte...

 

Imam ovu .Net aplikaciju (C#, console) koja bi trebala preko pinvokea loadati funkcije iz ovog DLLa.

 

Init uredno radi ali ova Login() nikako.... Dobijem

 

The runtime has encountered a fatal error. The address of the error was at 0x6fda02c7, on thread 0x28f8. The error code is 0xc0000005. This error may be a bug in the CLR or in the unsafe or non-verifiable portions of user code. Common sources of this bug include user marshaling errors for COM-interop or PInvoke, which may corrupt the stack.

 

ili Access violation: Can't read or write memory. Nisam siguran jesam dobro "preveo" c++ tipove u .Net i jel ovi structovi valjaju. Sa c++ sam na "vi" tako da...

My name is Legion... For we are many!
Moj PC  
0 0 hvala 0
13 godina
neaktivan
offline
C# - Problemi i rješenja

Pozdrav ljudi!

Imam jedan problem, ne znam kako da zamijenim poredak likova u programu klikom misa na odredeni lik.

Ako su recimo dva lika jedan preko drugoga kako da klikom na jedan od likova za kojeg zelim da mi bude iznad drugog

zamijenim mjesta, ak niste skuzili evo slika.

 

Kao sto se vidi na slici, ja sad zelim da kad kliknem na pravokutnik, da elipsa i pravokutnik zamijene mjesta, odnosno da pravokutnik bude preko elipse isto kao što je i ona preko pravokutnika u početnoj poziciji!

 
0 0 hvala 0
14 godina
neaktivan
offline
Re: C# - Problemi i rješenja
Sum_of_all_fears kaže...

Narode, pomagajte...

 

Imam ovu .Net aplikaciju (C#, console) koja bi trebala preko pinvokea loadati funkcije iz ovog DLLa.

 

Init uredno radi ali ova Login() nikako.... Dobijem

 

The runtime has encountered a fatal error. The address of the error was at 0x6fda02c7, on thread 0x28f8. The error code is 0xc0000005. This error may be a bug in the CLR or in the unsafe or non-verifiable portions of user code. Common sources of this bug include user marshaling errors for COM-interop or PInvoke, which may corrupt the stack.

 

ili Access violation: Can't read or write memory. Nisam siguran jesam dobro "preveo" c++ tipove u .Net i jel ovi structovi valjaju. Sa c++ sam na "vi" tako da...

Vjerojatno nisi dobro preveo tipove pri deklaraciji prototipa dll funkcije u C#-u. Primjerice, baš sam danas radio na nečemu gdje je parametar wchar_t (c++) trebalo prevesti u c# tj. [MarshalAs(UnmanagedType.LPWStr)] string.

 

[DllImport("Upgrade.dll")]
private static extern int ProvjeriNadogradnje([MarshalAs(UnmanagedType.LPWStr)] string Direktorij);

 

dklar kaže...

Pozdrav ljudi!

Imam jedan problem, ne znam kako da zamijenim poredak likova u programu klikom misa na odredeni lik.

Ako su recimo dva lika jedan preko drugoga kako da klikom na jedan od likova za kojeg zelim da mi bude iznad drugog

zamijenim mjesta, ak niste skuzili evo slika.

 

Kao sto se vidi na slici, ja sad zelim da kad kliknem na pravokutnik, da elipsa i pravokutnik zamijene mjesta, odnosno da pravokutnik bude preko elipse isto kao što je i ona preko pravokutnika u početnoj poziciji!

 Desni klik na komponentu (sliku) pa ćeš imati opcije "Bring to front" i "Send to back" ili u codu pozovi metode BringToFront i SendToBack nad tim komponentama.

Poruka je uređivana zadnji put sub 24.1.2015 20:07 (TracerCPP).
17 godina
offline
Re: C# - Problemi i rješenja
dklar kaže...

Pozdrav ljudi!

Imam jedan problem, ne znam kako da zamijenim poredak likova u programu klikom misa na odredeni lik.

Ako su recimo dva lika jedan preko drugoga kako da klikom na jedan od likova za kojeg zelim da mi bude iznad drugog

zamijenim mjesta, ak niste skuzili evo slika.

 

Kao sto se vidi na slici, ja sad zelim da kad kliknem na pravokutnik, da elipsa i pravokutnik zamijene mjesta, odnosno da pravokutnik bude preko elipse isto kao što je i ona preko pravokutnika u početnoj poziciji!

 To je ZOrder koji određuje poredak elemenata u stacku.

Evo ti prijedlog ako su samo dva elementa, možeš dalje razraditi, ovo je tek da vidiš event koji koristim  i propertiese.

Dakle, viši z index, više mjesto elementa u stacku.

Radi se o WPF.

 

<Window x:Class="WpfApplication2.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525">
    <Grid>
        <Rectangle Name="rectangle" Fill="#FFF4F4F5" HorizontalAlignment="Left" Height="100" Margin="225,109,0,0" Stroke="Black" VerticalAlignment="Top" Width="100"
                   MouseLeftButtonDown="rectangle_MouseLeftButtonDown" />
        <Ellipse Name="elipse" Fill="#FFF4F4F5" HorizontalAlignment="Left" Height="100" Margin="253,169,0,0" Stroke="Black" VerticalAlignment="Top" Width="100"
                 MouseLeftButtonDown="elipse_MouseLeftButtonDown"/>
    </Grid>
</Window>

 

 

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
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;

namespace WpfApplication2
{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }

        private void rectangle_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
        {
            int zOrder = Grid.GetZIndex(elipse);
            Grid.SetZIndex(rectangle, zOrder+1);
        }

        private void elipse_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
        {
            int zOrder = Grid.GetZIndex(rectangle);
            Grid.SetZIndex(elipse, zOrder+1);
        }
    }
}

 

 

Poruka je uređivana zadnji put sub 24.1.2015 22:28 (Floki).
13 godina
neaktivan
offline
C# - Problemi i rješenja

Pozdrav ljudi!

Imam jedan problem, ne znam kako da zamijenim poredak likova u programu klikom misa na odredeni lik.

Ako su recimo dva lika jedan preko drugoga kako da klikom na jedan od likova za kojeg zelim da mi bude iznad drugog

zamijenim mjesta, ak niste skuzili evo slika.

 

Kao sto se vidi na slici, ja sad zelim da kad kliknem na pravokutnik, da elipsa i pravokutnik zamijene mjesta, odnosno da pravokutnik bude preko elipse isto kao što je i ona preko pravokutnika u početnoj poziciji!

 

 

EVO I LINK OD PROGRAMA

ZAMOLIO BIH NEKOG DA TO RIJESI TREBA MI HITNO DANAS A MISLIM DA NEMA PUNO ZAFRKANCIJE OKO TOG, BIT ĆE NAGRAĐEN KO RIJEŠI!!!!!
JA STVARNO VIŠE NEMAM ŽIVACA NI NAČINA NA KOJI BI TO RIJEŠIO.
Poruka je uređivana zadnji put ned 25.1.2015 10:35 (dklar).
 
0 0 hvala 0
16 godina
odjavljen
offline
Re: C# - Problemi i rješenja

Post iznad tvog...

My name is Legion... For we are many!
13 godina
neaktivan
offline
Re: C# - Problemi i rješenja

Znam stari al posto ja nisam programer ja ni to sitno nisam u stanju napravit nazalost.

16 godina
odjavljen
offline
Re: C# - Problemi i rješenja

Pogledaj PP...

My name is Legion... For we are many!
16 godina
offline
C# - Problemi i rješenja

Hi,

Radim windows aplikaciju koja bi mogla izvaditi iz baze odredene podatke pomocu sql querija kojeg vec imam napisanog. Ima li neki gotovi primjer aplikacije koja bi to mogla napraviti.

Hvala

 
0 0 hvala 0
11 godina
protjeran
offline
Re: C# - Problemi i rješenja
skip kaže...

Hi,

Radim windows aplikaciju koja bi mogla izvaditi iz baze odredene podatke pomocu sql querija kojeg vec imam napisanog. Ima li neki gotovi primjer aplikacije koja bi to mogla napraviti.

Hvala

 

Googlaj SqlConnection i SqlCommand.

16 godina
offline
Re: C# - Problemi i rješenja

Moze il se vizardom visual studiju  izvaditi podatke iz vise tablica istovremenom. Mislim ako je query takav da u jednoj tablici prikaz spoji podatke iz 2 tablice prema id-u ?

Hvala

16 godina
odjavljen
offline
C# - Problemi i rješenja

Dakle... Imam Stringovi.resx. Iz njega sa resgen.exe kreiram stringovi.resources fajl. Sa al.exe /t:lib /embed:stringovi.resources /culture:sl-SI /out:stringovi.resources.dll dobijem .dll fajl. Taj fajl neće da radi, app pada natrag na en-EN fallback.

 

Ostali jezici (hr-HR, de-DE...) rade normalno. U čem je hebeni problem?

My name is Legion... For we are many!
Moj PC  
0 0 hvala 0
17 godina
offline
Re: C# - Problemi i rješenja

Možda unutar  "culture:sl-SI" ide malo si... Ima li to kakve veze? Pogledaj, možda je u tome stvar.

'Dvije su stvari beskonačne - svemir i ljudska glupost. Za svemir nisam siguran' - Einstein ----- www.cigoff.eu -----
Poruka je uređivana zadnji put čet 29.1.2015 15:08 (Pero Dinamit).
16 godina
odjavljen
offline
Re: C# - Problemi i rješenja

Nije... baš ide malo s, malo i - veliko S, veliko I

My name is Legion... For we are many!
16 godina
offline
C# - Problemi i rješenja

Kako napraviti izbor lokalne baze na pocetku aplikacije iz  koje bi onda sql data source citao podatke iz tablice

 
0 0 hvala 0
16 godina
odjavljen
offline
Re: C# - Problemi i rješenja

Pa napravi neki xml sa podacima (Baza1, Baza2, Baza3...) i svakom pridruži pravi connection string. Kad user odabere npr Baza2, nek se sql data source spoji sa conn stringom 2.

My name is Legion... For we are many!
16 godina
odjavljen
offline
C# - Problemi i rješenja

Isprike na doublepostu ali... Imam probljem.

 

                        <p>
                            Pretraga: <span>
                                <asp:TextBox ID="partnersSearch" OnTextChanged="partnersSearch_TextChanged" runat="server"></asp:TextBox></span>
                        </p>
                        <asp:ScriptManager ID="searchManager" runat="server" EnablePartialRendering="true"></asp:ScriptManager>
                        <asp:UpdatePanel ID="gridUpdatePanel" runat="server" UpdateMode="Conditional">
                            <ContentTemplate>
                                <asp:GridView ID="partnersGrid" runat="server" AllowSorting="true" AllowPaging="true" PageSize="10" OnPageIndexChanging="partnersGrid_PageIndexChanging" CssClass="table striped"></asp:GridView>
                            </ContentTemplate>
                            <Triggers>
                                <asp:AsyncPostBackTrigger ControlID="partnersSearch" EventName="TextChanged" />
                            </Triggers>
                        </asp:UpdatePanel>

 

To je grid sa txtboxem za search. Radi sve to divno i krasno kada pritisnem Enter ali ja želim da updatea grid (opali ovaj "partnersSearch_TextChanged" event) dok tipkam. Dakle, ja počnem pisati neko ime, on odvrti query i updatea samo grid. Kako to izvesti, što sam fulao? Web baš nije moje područje, ovo je u WinFormsima i WPFu trivijalno.

My name is Legion... For we are many!
Moj PC  
0 0 hvala 0
13 godina
neaktivan
offline
Re: C# - Problemi i rješenja

Nisi postavio AutoPostBack na text box-u. Postavi AutoPostBack="True".

16 godina
odjavljen
offline
Re: C# - Problemi i rješenja

Neće i sa time (to sam već probao). Opet moram enter stisnuti...

My name is Legion... For we are many!
13 godina
neaktivan
offline
Re: C# - Problemi i rješenja

Topli savjet čovjeka koji je dugo vremena web forme koristio je da bježiš od tih interakcijaskih ugrađenih stvari. Puno bolje je da probaš preko Java Scripte ručno reloadati. A ako hoćeš da ti se samo grid update-a, bez kompletnog refresha, onda je to već AJAX područje, moraš koristiti AJAX kontrole.

16 godina
odjavljen
offline
Re: C# - Problemi i rješenja

Kako bi to onda napravio ajaxom?

 

Ma web forme radim jer su nužno zlo, nemam vremena se baviti sa MVCom (a trebao bi). Kad vidim onaj entity digne mi se kosa na glavi...

My name is Legion... For we are many!
13 godina
neaktivan
offline
Re: C# - Problemi i rješenja
Sum_of_all_fears kaže...

Kako bi to onda napravio ajaxom?

 

Ma web forme radim jer su nužno zlo, nemam vremena se baviti sa MVCom (a trebao bi). Kad vidim onaj entity digne mi se kosa na glavi...

 https://msdn.microsoft.com/en-us/library/bb386452%28v=vs.140%29.aspx

 

Staviš UpdatePanel, trigger panela psotaviš da bude TextBox za pretragu, a Event OnTextChanged. U njega postaviš gridview, i onda taj bound, refresh i to ide već zavisno od tvoje logike.

13 godina
neaktivan
offline
C# - Problemi i rješenja

Imam par pitanja u vezi programa za 2d crtanje, kako napraviti olovku da mi iscrtava punu crtu a ne isprekidano (kad se sporo pomice mis radi dobro) i kako da kad kliknem na određeni liniju, krug... da oznacim i da mogu mjenjati boju, itd...

 

private void Form1_MouseMove(object sender, MouseEventArgs e)
{

x = e.X;
y = e.Y;


if (e.Button != MouseButtons.None)
{
if (vrsta == oblik.Olovka)
{
Refresh();

Olovka o = new Olovka(x1, y1, x, y, boja);
grafickioblici.Add(o);
Refresh();
}

}

Refresh();

}

 

else if (vrsta == oblik.Olovka) {

SolidBrush s = new SolidBrush(boja);

g.FillEllipse(s,x,y,10,10);

}

olovka olovka
 
0 0 hvala 0
16 godina
offline
Re: C# - Problemi i rješenja

@ Sum_of_all_fears

stos je u tome sto se program treba instalirati na razna racunala u kojima se nezna ime baze.  znaci kad kliknem na trazi bazu program treba pregledati koje sve baze postoje na lokalhostu a korisnik onda odabire koju hoce

Poruka je uređivana zadnji put ned 1.2.2015 23:36 (skip).
16 godina
odjavljen
offline
Re: C# - Problemi i rješenja

Sa ovim ćeš dobiti listu svih SQL servera i ako za njih imaju odgovarajući login (bilo SQL login ili lokalni), listu baza.

My name is Legion... For we are many!
16 godina
offline
Re: C# - Problemi i rješenja

Kako taj kod ubaciti ako radim windovs form aplikaciju,   Kad otvorim kod na startu prikaze mi ovo dole: Gdje sad ubaciti taj kod sto pocinje s List<String>ServerNames=newList<String>();

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApplication25
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {

        }
    }
}

 

16 godina
odjavljen
offline
Re: C# - Problemi i rješenja

Bilo bi lijepo i uredno kad bi fino ispod Form1_Load funkcije dodao još jednu ovakvu:

 

private bool GetSqlServers()

{
    try
    {
         // kod koji lista servere
         return true;
    }
    catch (Exception ex)
    {
        Message.Show(ex.ToString());
        return false;
    }
}

 

i onda fino u Form1_Load dodati poziv gornje funkcije ovako nekako:

 

if(GetSqlServers())

{

     MessageBox.Show("Lista kreirana!");

}

else

{

    MessageBox.Show("Greška u generiranju liste servera");

}

My name is Legion... For we are many!
Nova poruka
E-mail:
Lozinka:
 
vrh stranice