Pokaż wiadomości

Ta sekcja pozwala Ci zobaczyć wszystkie wiadomości wysłane przez tego użytkownika. Zwróć uwagę, że możesz widzieć tylko wiadomości wysłane w działach do których masz aktualnie dostęp.


Wiadomości - Trout

Strony: [1] 2 3
1
Platforma .NET / Przesuwanie pionków C#
« dnia: 2012-03-08, 20:32 »
Jak mam wykomentowane ładowanie obrazków to są pola czerwone i białe, ale jak mam je aktywne to wszystkie pola są czerwone, a obrazki to nie czerwone pola więc nie mam pojęcia o co chodzi. A adres obrazka jest dobry na pewno bo kopiowany, więc nie mam pojęcia co jest nie tak. W kazdym razie dzięki za pomoc :)

2
Platforma .NET / Przesuwanie pionków C#
« dnia: 2012-03-08, 18:32 »
Tak. Sa jeszcze tylko pliki program.cs i FormDisagner.cs jednak sa one wygenerowane automatycznie wraz z tworzeniem projektu i nic tam nie zmieniałem.

Jakby co dołączam treść tych plików
program.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    static class Program
    {
        /// <summary>
        /// The main entry point for the application.
        /// </summary>
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Form1());
        }
    }
}
FormDesigner.cs
namespace WindowsFormsApplication1
{
    partial class Form1
    {
        /// <summary>
        /// Required designer variable.
        /// </summary>
        private System.ComponentModel.IContainer components = null;

        /// <summary>
        /// Clean up any resources being used.
        /// </summary>
        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
        protected override void Dispose(bool disposing)
        {
            if (disposing && (components != null))
            {
                components.Dispose();
            }
            base.Dispose(disposing);
        }

        #region Windows Form Designer generated code

        /// <summary>
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// </summary>
        private void InitializeComponent()
        {
            this.SuspendLayout();
            //
            // Form1
            //
            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
            this.ClientSize = new System.Drawing.Size(525, 523);
            this.Name = "Form1";
            this.Text = "Form1";
            this.Load += new System.EventHandler(this.Form1_Load);
            this.ResumeLayout(false);

        }

        #endregion
    }
}


Jak usune oba ify odpowiedzialne za zmiane koloru pól to jest po prostu sama czarna forma, a jak np mam sam if odpowiedzialny za pomalowanie pol na bialo to maluja mi się na czerwono.
Dolączam cały projekt
http://www.sendspace.pl/file/31542a047bff6e08373d762

3
Platforma .NET / Przesuwanie pionków C#
« dnia: 2012-03-08, 12:57 »
using System;
using System.Drawing;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{

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

        private void Form1_Load(object sender, EventArgs e)
        {
            this.BackColor = Color.Black;
            int Left = 5, Top = 5; ;
            PictureBox[] Pole = new PictureBox[64];
            for (int i = 0; i < 64; i++)
            {
                Pole[i] = new PictureBox();
                Pole[i].Width = 60;
                Pole[i].Height = 60;
                if (i % 2 == 0)
                {
                    Pole[i].BackColor = Color.Red;
                    Pole[i].Image = Image.FromFile(@"C:\Users\Paweł\Desktop\obrazy\biale.jpg");
                }
                if (i%2 == 1)
                {
                    Pole[i].BackColor = Color.White;
                    Pole[i].Image = Image.FromFile(@"C:\Users\Paweł\Desktop\obrazy\czarne.jpg");
                }
            }
            for (int j = 0; j < 8; j++)
            {
                for (int i = 0; i < 8; i++)
                {
                    Pole[j * 8 + i].Left = Left;
                    Left += 65;
                    Pole[j * 8 + i].Top = Top;
                }
                Top += 65;
                Left = 5;
            }
            this.Controls.AddRange(Pole);
        }
    }
}
Napisałem takie cos i pola powinny być na przemian czerwone i biale oraz powinny się załadować obrazki. Tymczasem obrazków nie ma, a wszystkie pola są czerwone i zupełnie nie wiem dlaczego tak się dzieje.

4
Platforma .NET / Przesuwanie pionków C#
« dnia: 2012-03-05, 00:07 »
Zadeklaruje tablice: PictureBox[] plansza = new PictureBox[64];
I teraz co muszę zrobić żeby po przejściu do widoku graficznego móc ustawić właściwości dla każdego z elementów tablicy?

5
Platforma .NET / Przesuwanie pionków C#
« dnia: 2012-03-04, 23:39 »
Trzymasz te boxy w jakiejś strukturze danych? Musisz w jakiś sposób umieć znaleźć pole o obliczonych współrzędnych.
Nie, po prostu wstawiłem je w widoku graficznym. Powinieniem picture boxy umiescic np. w tablicy?
Tylko czy da się utworzyć tablicę picture boxów i jednoczesnie ustawiać ich właściwości w trybie graficznym?
Bo to znacznie ułatwiło by pracę.

6
Platforma .NET / Przesuwanie pionków C#
« dnia: 2012-03-04, 21:27 »
Tylko chodzi o to, że nie wiem jak je zastąpić, bo nie znam nazwy tego pola, które chce zmienić i nie wiem skąd ją wziąć.

7
Platforma .NET / Przesuwanie pionków C#
« dnia: 2012-03-04, 20:53 »
Witam,
Próbuję stworzyć warcaby wykorzystując język C#. Powstawiałem picture boxy i w nich image na obrazy pionków. Niestety gdy dochodzi do przesunięcia pionka to nie wiem jak to zrobić, żeby zmienić obraz w picture boxie na który chce się przestawić pionka. Macie jakiś pomysły?

8
C, C++ / Skąd brać nazwy klas okien?
« dnia: 2012-02-22, 14:50 »
Cytuj
Hmm, też dobra opcja, ale jako że koleś zaczyna może nawet nie ogarnąć jak zmusić wxWidgets do działania z C::B.
A jest w tym jakas filozofia? Na razie uzuwalem C::B tylko do konsoli i WinApi.
Cytuj
Nie bardzo wiem, co byś chciał zrobić z pulpitem...
W tutorialu jest zadanie, żeby napisać program, który wyświetla napis na pulpicie. Probowałem to zrobić ale niestety nie działa. Błędów żadnych nie zgłasza ale napisu nie ma. Jakby co probowałem to zrobić tak ze ten napis wyświetla sie w oknie i na pulpicie, a jak się kliknie na okno to napis się zmienia na inny.
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <string>
#include <iostream>

using namespace std;

string NazwaKlasy = "MyClass";
bool Jakinapis;
LRESULT CALLBACK WinEventProcedure (HWND hwnd, UINT Message, WPARAM wParam, LPARAM lParam)
{
    switch(Message)
    {
        case WM_DESTROY:
            PostQuitMessage(0);
            break;
        case WM_LBUTTONDOWN:
            Jakinapis = !Jakinapis;
            InvalidateRect(GetDesktopWindow(), NULL, true);
            InvalidateRect(hwnd, NULL, true);
            break;
        case WM_PAINT:
            PAINTSTRUCT ps, ps2;
            HDC hdcOkno, hdcOkno2;
            RECT Obszar, Obszar2;
            GetClientRect(hwnd, &Obszar);
            GetClientRect(GetDesktopWindow(), &Obszar2);

            string Napis = (Jakinapis ? "Napis" : "InnyNapis");
            hdcOkno = BeginPaint(GetDesktopWindow(), &ps);
            hdcOkno2 = BeginPaint(hwnd, &ps2);

            DrawText(hdcOkno, Napis.c_str(), int(Napis.length()), &Obszar2, DT_VCENTER | DT_SINGLELINE | DT_CENTER);
            DrawText(hdcOkno2, Napis.c_str(), int(Napis.length()), &Obszar, DT_VCENTER | DT_SINGLELINE | DT_CENTER);

            EndPaint(GetDesktopWindow(), &ps);
            EndPaint(hwnd, &ps2);
            cout<<Napis<<endl;
            break;
    }
    return DefWindowProc(hwnd, Message, wParam, lParam);
}

int WINAPI WinMain(HINSTANCE hThisInstance, HINSTANCE, LPSTR lpszCmdLine, int nCmdShow)
{
    WNDCLASSEX KlasaOkna;

    ZeroMemory(&KlasaOkna, sizeof(WNDCLASSEX));
    KlasaOkna.cbSize = sizeof(WNDCLASSEX);
    KlasaOkna.hInstance = hThisInstance;
    KlasaOkna.lpszClassName = NazwaKlasy.c_str();
    KlasaOkna.lpfnWndProc = WinEventProcedure;
    KlasaOkna.hIcon = LoadIcon(NULL, IDI_APPLICATION);
    KlasaOkna.hCursor = LoadCursor(NULL, IDC_ARROW);
    KlasaOkna.hbrBackground = HBRUSH (GetStockObject(WHITE_BRUSH));

    RegisterClassEx(&KlasaOkna);
    HWND hOkno;

    hOkno = CreateWindowEx(WS_EX_TOOLWINDOW,
                           NazwaKlasy.c_str(),
                           "Napis na pulpicie",
                           WS_CAPTION | WS_SYSMENU | WS_OVERLAPPED | WS_BORDER,
                           CW_USEDEFAULT,
                           CW_USEDEFAULT,
                           250,
                           50,
                           NULL,
                           NULL,
                           hThisInstance,
                           NULL);
    ShowWindow(hOkno, nCmdShow);

    MSG msgKomunikat;

    while (GetMessage(&msgKomunikat, NULL, 0, 0))
    {
        TranslateMessage(&msgKomunikat);
        DispatchMessage(&msgKomunikat);
    }

    return msgKomunikat.wParam;
}

I jeszcze propo wxWidgets. Zna ktoś jakieś sensowne tutoriale po polsku? Bo póki co kuleje z angielskim.

Co byście bardziej polecili, Jave czy c#?

9
C, C++ / Skąd brać nazwy klas okien?
« dnia: 2012-02-21, 16:08 »
Jestem przyzwyczajony do uczenia sie starych rzeczy począwszy od 4 godzin tygodniowo Pascala w klasie II technikum xd
Czyli lepiej na platformie .NET? a GUI sie ewentualnie chociaż na studiach przyda?

10
C, C++ / Skąd brać nazwy klas okien?
« dnia: 2012-02-21, 14:39 »
Czyli mogę np pobrac uchwyt do pulpitu funkcja GetWindowDesktop a potem GetWindowText pobrac od niego tytul i wykorzystac go w FindWindow? A dla innych okien?

Dlaczego odradzasz?  :wink:

11
C, C++ / Skąd brać nazwy klas okien?
« dnia: 2012-02-21, 11:37 »
Witam,
Usiluję sie teraz uczyc WinApi. Doszedłem do funkcji FindWindow i tam w przykladowym programie jest ukrywanie i pokazywanie paska zadan. I tam jest FindWindow("Shell_TrayWnd", NULL). Jednak autor nie napisał skad wziął nazwe klasy dla tegoz paska zadań. A gdybym chciał teraz np popróbowac cos robic z pulpitem to gdzie powinienem szukac nazwy klasy dla pulpitu? I innych okien systemowych?

12
C, C++ / Tablica dwuwymiarowa jako parametr do funkcji
« dnia: 2012-01-04, 21:15 »
Dzieki wielkie, juz czaje o co w tym chodzi  :)  props  :ok:

13
C, C++ / Tablica dwuwymiarowa jako parametr do funkcji
« dnia: 2012-01-04, 20:39 »
Wg tego co zrozumielem to poprawilem program na:
#include <iostream>
using namespace std;
int los (int **tab,int w,int kol, int pp, int kp){
for (int i = 0;i<w;i++){
for (int j = 0;j<kol;j++)
tab[i][j] = rand() % (kp-pp+1) + pp;
}
}
int wypisz (int **tab,int w,int kol){
for (int i = 0;i<w;i++){
for (int j = 0;j<kol;j++)
cout<<tab[i][j];
cout<<endl;
}
}

int main()
{
    srand(time(NULL));
    int tab[5][7];
    los(tab,5,7,0,9);
    wypisz(tab,5,7);
    system("PAUSE");
}
Jednak cos musialem zle zrozumiec, bo w liniach wywolania funkcji los i wypisz kompilator wskazuje blad.
21 C:\Users\Paweł\Desktop\program 44\program 44.cpp cannot convert `int (*)[7]' to `int**' for argument `1' to `int los(int**, int, int, int, int)'
22 C:\Users\Paweł\Desktop\program 44\program 44.cpp cannot convert `int (*)[7]' to `int**' for argument `1' to `int wypisz(int**, int, int)'

14
C, C++ / Tablica dwuwymiarowa jako parametr do funkcji
« dnia: 2012-01-04, 13:25 »
Tablica musi by utworzona w main() tak jak jest. A ilość  wierszy i kolumn maja zostac podane jako parametry funkcji. Tylko nie wiem jak mam przekazac w takim razie ta tablice do funkcji.

15
C, C++ / Tablica dwuwymiarowa jako parametr do funkcji
« dnia: 2012-01-03, 23:02 »
Witem,
Mam zadanie, zeby stworzyc funkcje, ktora przyjmuje jako parametr tablice dwuwymiarowa o nieokreslonej wielkosci, losuje do niej wartosci z podanego jako parametr przedzialu i wypisuje ja. Zrobilem cos takiego

#include <iostream>
using namespace std;
int los (int tab[][7],int w,int kol, int pp, int kp){
for (int i = 0;i<w;i++){
for (int j = 0;j<kol;j++)
tab[i][j] = rand() % (kp-pp+1) + pp;
}
}
int wypisz (int tab[][7],int w,int kol){
for (int i = 0;i<w;i++){
for (int j = 0;j<kol;j++)
cout<<tab[i][j];
cout<<endl;
}
}

int main()
{
    srand(time(NULL));
    int tab[5][7];
    los(tab,5,7,0,9);
    wypisz(tab,5,7);
    system("PAUSE");
}
No ale tak mam tylko nieokreslona liczbe wierszy a chcialbym tez kolumn. Wiem, że trzeba by pokombinować ze wskaznikami, ale niestety nie wychodzilo mi to a w internecie tez nie zdolalem znalezc odpowiedzi na moje pytanie.

16
C, C++ / funkcja kwadratowa
« dnia: 2011-09-09, 18:53 »
O to mi chodziło, wielkie dzięki  :wink:   To ja ide uczyc się dalej  :D

17
C, C++ / funkcja kwadratowa
« dnia: 2011-09-09, 17:53 »
Żadne "stwarzać structa", tylko zadeklarować strukturę. Struktura to złożony typ danych i może być różnego typu: http://pl.wikipedia.org/wiki/Struktura_%28programowanie%29

Skoro chcesz, żeby funkcja zwracała ci napis, to po co ci struktura do tego?

Może napisz coś więcej, co chcesz zwracać, daj ten kod ze strukturą, który ci nie działa.

Chciałbym, aby wszystkie wyniki zwracał poprzez funkcje return. Próbowałem to zrobić i pewnie wpędzałem się z błędu w błąd, więc jest ich pewnie sporo.

#include<iostream>
#include<conio.h>
#include<cmath>
#include<string>
using namespace std;
struct kwadrat
{
       string napis;
       float liczba;
       };
float pow(float base, float exponent);
float delta, delta2;
kwadrat s;
kwadrat row(float a, float b, float c)
{
    if (a==0 && b!=0) return -c/b;
    if (a!=0)
    {
         delta=pow(b,2) - 4*a*c; delta2=sqrt(delta);
         if (delta>0) return (-b-delta2)/(2*a)&&(-b+delta2)/(2*a);
         if (delta==0) return -b/(2*a);
         if (delta<0)
         {
                      s.napis="Dane rownanie nie posiada rozwiazania. ";
                      return s;
                      }
         }
         if (a==0)
             if (b==0)
                      if (c==0)
                      {
                                s.napis="Rownanie posiada nieskonczenie wiele rozwiazan. ";
                                return s;
                                }
                      else
                      {
                           s.napis="Rownanie nie posiada rozwiazania. ";
                           return s;
                           }
}
int main()
{
    float a,b,c;
    cout<<"Podaj wspolczynnik a: ";
    cin>>a;
    cout<<"Podaj wspolczynnik b: ";
    cin>>b;
    cout<<"Podaj wspolczynnik c: ";
    cin>>c;
    cout<<"Rozwiazanie: "<<row(a,b,c);
    getch();
    return 0;
}

18
C, C++ / funkcja kwadratowa
« dnia: 2011-09-09, 15:58 »
A nie dałoby siż jakoś stworzyć structa string float i bezpośrednio stringa zwrócić?
Ja próbowałem i tak nie działa ale może po prostu źle to robię. (w sensie ze z tym stringiem próbowałem)

19
C, C++ / funkcja kwadratowa
« dnia: 2011-09-08, 18:13 »
Dzięki, działa teraz  :wink:  
Tylko jeszcze pytanie czy nie dałoby sie tego jakos zrobic z returnami?

20
C, C++ / funkcja kwadratowa
« dnia: 2011-09-07, 18:53 »
Witam,
chce napisac program obliczajacy miejsca zerowe funkcji kwadratowej i napisałem takie cos:


#include<iostream>
#include<conio.h>
#include<cmath>
using namespace std;
float pow(float base, float exponent);
float delta, delta2;
float row(float a, float b, float c)
{
    if (a==0 && b!=0) return -c/b;
    if (a!=0)
    {
         delta=pow(b,2) - 4*a*c; delta2=sqrt(delta);
         if (delta>0) return (-b-delta2)/(2*a) && (-b+delta2)/(2*a);
         if (delta==0) return -b/(2*a);
         }
}
int main()
{
    float a,b,c;
    cout<<"Podaj wspolczynnik a: ";
    cin>>a;
    cout<<"Podaj wspolczynnik b: ";
    cin>>b;
    cout<<"Podaj wspolczynnik c: ";
    cin>>c;
    if (a==0)
             if (b==0)
                      if (c==0) cout<<"Rownanie posiada nieskonczenie wiele rozwiazan. "<<endl;
                      else cout<<"Rownanie nie posiada rozwiazania. "<<endl;
    cout<<"Rozwiazanie: "<<row(a,b,c)<<endl;
    getch();
    return 0;
}

Jednak wystąpiły dwa problemy:
1. Wychodzi mi ciagle wynik 5.3465e+036
2. Oraz nie wiem jak zrobic zeby dla delty ujemnej wyswietlał sie napis, ze dane rownanie nie ma rozwiazan
No i czy przez zastosowanie koniunkcji zwroci mi dwie wartosci? (13 linijka)

Z góry dzięki
Pozdrawiam

Strony: [1] 2 3
Do góry