Error unknown typ name 'DS18B20'
-
-
That will change S.getHystTemperature(); too. Doesnt it?
Hi
Not at all. the S/R in mainwindow are on its own and will not affect those in C. -
So why arent in Class CheckTemperature the variables changed?
As nothing changes them.
Maybe this is why i get confused about what is not working.
The slider changes the values of S/R in MainWin. Not in C.s / C.r so
did you expect the values in C to also change ?@mrjj
well if i change the variable of e.g. Class" SetTemperature" float "HystTemperature"
And if i call the methode S.getHystTemperature(); i try to get the variable HystTemperature.Or is that the wrong way to put the Varible which is changed by the slider into the Class "CheckTemperature"
then my next question would be how can I do that? :)
Putting the changed variable "HystTemperature" from class "SetTemperature" and the changed variable "actualTemp1" from class "ReadTemperature" into the class "CheckTemperature". -
-
@mrjj
well if i change the variable of e.g. Class" SetTemperature" float "HystTemperature"
And if i call the methode S.getHystTemperature(); i try to get the variable HystTemperature.Or is that the wrong way to put the Varible which is changed by the slider into the Class "CheckTemperature"
then my next question would be how can I do that? :)
Putting the changed variable "HystTemperature" from class "SetTemperature" and the changed variable "actualTemp1" from class "ReadTemperature" into the class "CheckTemperature".@AlexKrammer
hi
to change the one inside C with slider it has to bevoid MainWindow::on_horizontalSlider_valueChanged(int x) { float y; /// S.setHystTemperature(x); C.S.setHystTemperature(x); /// y = S.getHystTemperature(); C.S.getHystTemperature(x); QString Temp = QString::number(y); ui->label->setText(Temp + "°C"); }
- Putting the changed variable "HystTemperature" from class "SetTemperature" and the changed variable "actualTemp1" from class "ReadTemperature" into the class "CheckTemperature".
auto value1 = S.getHystTemperature();
auto value2 = R.actualTemp1;C.setHystTemperature(value1);
C.R.actualTemp1 = value2;something like that.
Its very confusing you named the classes as function names :)
SetTemperature rally looks like a function but its a class. -
@AlexKrammer
hi
to change the one inside C with slider it has to bevoid MainWindow::on_horizontalSlider_valueChanged(int x) { float y; /// S.setHystTemperature(x); C.S.setHystTemperature(x); /// y = S.getHystTemperature(); C.S.getHystTemperature(x); QString Temp = QString::number(y); ui->label->setText(Temp + "°C"); }
- Putting the changed variable "HystTemperature" from class "SetTemperature" and the changed variable "actualTemp1" from class "ReadTemperature" into the class "CheckTemperature".
auto value1 = S.getHystTemperature();
auto value2 = R.actualTemp1;C.setHystTemperature(value1);
C.R.actualTemp1 = value2;something like that.
Its very confusing you named the classes as function names :)
SetTemperature rally looks like a function but its a class.auto value1 = S.getHystTemperature(); auto value2 = R.actualTemp1; C.setHystTemperature(value1); C.R.actualTemp1 = value2;
i dont understand this step... cause i dont have a C.setHystTemperature thats a methode at SetTemperature
void MainWindow::on_horizontalSlider_valueChanged(int x) { float y; /// S.setHystTemperature(x); C.S.setHystTemperature(x); /// y = S.getHystTemperature(); C.S.getHystTemperature(x); QString Temp = QString::number(y); ui->label->setText(Temp + "°C"); }
if you write: C.S.setHystTemperature(x); do you set HystTemperature in Set Temperature and also in CheckTemperature? Do I understand right?
-
auto value1 = S.getHystTemperature(); auto value2 = R.actualTemp1; C.setHystTemperature(value1); C.R.actualTemp1 = value2;
i dont understand this step... cause i dont have a C.setHystTemperature thats a methode at SetTemperature
void MainWindow::on_horizontalSlider_valueChanged(int x) { float y; /// S.setHystTemperature(x); C.S.setHystTemperature(x); /// y = S.getHystTemperature(); C.S.getHystTemperature(x); QString Temp = QString::number(y); ui->label->setText(Temp + "°C"); }
if you write: C.S.setHystTemperature(x); do you set HystTemperature in Set Temperature and also in CheckTemperature? Do I understand right?
-i dont understand this step... cause i dont have a C.setHystTemperature thats a methode at SetTemperature
ok but the idea is the same. just use the correct method/variable then.
C.setXXX (value1); or
C.S.xxx = valueif you write: C.S.setHystTemperature(x); do you set HystTemperature in Set Temperature and also in CheckTemperature? Do I understand right?
yes you ONLY set in C.S. not the ones in mainWindow.
So slider ONLY changes the one in C. -
-i dont understand this step... cause i dont have a C.setHystTemperature thats a methode at SetTemperature
ok but the idea is the same. just use the correct method/variable then.
C.setXXX (value1); or
C.S.xxx = valueif you write: C.S.setHystTemperature(x); do you set HystTemperature in Set Temperature and also in CheckTemperature? Do I understand right?
yes you ONLY set in C.S. not the ones in mainWindow.
So slider ONLY changes the one in C.@mrjj
do you meanvoid MainWindow::on_horizontalSlider_valueChanged(int x) { float y; /// S.setHystTemperature(x); C.S.setHystTemperature(x); /// y = S.getHystTemperature(); y = C.S.getHystTemperature(); QString Temp = QString::number(y); ui->label->setText(Temp + "°C"); } LOOP { C.R.readTemperature(1); }
and why should i only set it in CheckTemperature and not the Classvarible? Shouldn't i do i both?
-
@mrjj
do you meanvoid MainWindow::on_horizontalSlider_valueChanged(int x) { float y; /// S.setHystTemperature(x); C.S.setHystTemperature(x); /// y = S.getHystTemperature(); y = C.S.getHystTemperature(); QString Temp = QString::number(y); ui->label->setText(Temp + "°C"); } LOOP { C.R.readTemperature(1); }
and why should i only set it in CheckTemperature and not the Classvarible? Shouldn't i do i both?
Yes if you want BOTH to change you should set both.
both in C.xxx and directly with S/R in mainwindow :) -
Yes if you want BOTH to change you should set both.
both in C.xxx and directly with S/R in mainwindow :) -
@AlexKrammer
Ok i not sure i understand what you really want either. :)
Its feels like you expect something magical to happen to the C.s/R.r- And what do you mean with C.xxx the only thing that i have in the class CheckTemperature is the methode CheckTemp
i mean what ever you want to set in the class.
maybe its C.s instead. -
@AlexKrammer
Ok i not sure i understand what you really want either. :)
Its feels like you expect something magical to happen to the C.s/R.r- And what do you mean with C.xxx the only thing that i have in the class CheckTemperature is the methode CheckTemp
i mean what ever you want to set in the class.
maybe its C.s instead.@mrjj
hahaha :Dnobody knows anything yet :D
Summery:
First i got one Class called SetTemperature.
In that class is a variable HystTemperature.
In order to change the value of that variable you need to create a object of Set Temperature like:SetTemperature S; S.setHystTemperature(e.g. 5);
to receive that variable you also use:
float x; Set Temperature S; x = S.getHystTemperature();
The second class called "ReadTemperature" got one methode to evaluate the temperature and save it in the class variable actualTemp1. First you have to create an object of the class like:
ReadTemperature R; R.ReadTemp(1); //Then actualTemp1 will be changed e.g. incremented by 1
Then the third class should compare that both variables. So i have to create 2 object of each class and call the variables like:
float x; float y; SetTemperature S; ReadTemperature R; x = S.getHystTemperature(); y = R.actualTemp1;
thats the only thing i want.
But what do you mean e.g. with C.S.getHystTemperature() and so on?
Where do you take de C.S.getHystTemperature()? and what should it do?Also with
auto value2 = R.actualTemp1; C.R.actualTemp1 = value2;
Where comes and what is C.R.actualTemp1^^
-
@mrjj
hahaha :Dnobody knows anything yet :D
Summery:
First i got one Class called SetTemperature.
In that class is a variable HystTemperature.
In order to change the value of that variable you need to create a object of Set Temperature like:SetTemperature S; S.setHystTemperature(e.g. 5);
to receive that variable you also use:
float x; Set Temperature S; x = S.getHystTemperature();
The second class called "ReadTemperature" got one methode to evaluate the temperature and save it in the class variable actualTemp1. First you have to create an object of the class like:
ReadTemperature R; R.ReadTemp(1); //Then actualTemp1 will be changed e.g. incremented by 1
Then the third class should compare that both variables. So i have to create 2 object of each class and call the variables like:
float x; float y; SetTemperature S; ReadTemperature R; x = S.getHystTemperature(); y = R.actualTemp1;
thats the only thing i want.
But what do you mean e.g. with C.S.getHystTemperature() and so on?
Where do you take de C.S.getHystTemperature()? and what should it do?Also with
auto value2 = R.actualTemp1; C.R.actualTemp1 = value2;
Where comes and what is C.R.actualTemp1^^
@AlexKrammer
hehe lots of talk for 2 floats :)
Ok first part i fully understand. seems fine.
but not sure what you need the C class for then ?I dont understand when you will update ITs C/S and such.
Maybe just drop C completely and do what you want to do with C/S in mainWin ? -
@AlexKrammer
hehe lots of talk for 2 floats :)
Ok first part i fully understand. seems fine.
but not sure what you need the C class for then ?I dont understand when you will update ITs C/S and such.
Maybe just drop C completely and do what you want to do with C/S in mainWin ?@mrjj
yes it should be possible.
But to keep the structur and let it look quiet professional i'd tried to put it into a class.
But the one thing that i dont understand yet is. If i create a object each class in CheckTemp and try to call the variables out of them. why they dont include the values which i gave them e.g when the slider moved. -
@mrjj
yes it should be possible.
But to keep the structur and let it look quiet professional i'd tried to put it into a class.
But the one thing that i dont understand yet is. If i create a object each class in CheckTemp and try to call the variables out of them. why they dont include the values which i gave them e.g when the slider moved.@AlexKrammer said in Error unknown typ name 'DS18B20':
But the one thing that i dont understand yet is. If i create a object each class in CheckTemp and try to call the variables out of them. why they dont include the values which i gave them e.g when the slider moved.
Because they are NOT tied to the S/R in main. its own variables and unless you
directly write to them via C.s then they stay at zero.So when you change C/S that lives in main, the ones in C does not change with them
They are seperate variables and has own values and will only change if you directly do that.much like
int NUM =4;
class Test {
int NUM=0;
}TEST c;
NUM = 100;
will have not change c.NUM at all.
-
@AlexKrammer said in Error unknown typ name 'DS18B20':
But the one thing that i dont understand yet is. If i create a object each class in CheckTemp and try to call the variables out of them. why they dont include the values which i gave them e.g when the slider moved.
Because they are NOT tied to the S/R in main. its own variables and unless you
directly write to them via C.s then they stay at zero.So when you change C/S that lives in main, the ones in C does not change with them
They are seperate variables and has own values and will only change if you directly do that.much like
int NUM =4;
class Test {
int NUM=0;
}TEST c;
NUM = 100;
will have not change c.NUM at all.
This post is deleted! -
@AlexKrammer said in Error unknown typ name 'DS18B20':
But the one thing that i dont understand yet is. If i create a object each class in CheckTemp and try to call the variables out of them. why they dont include the values which i gave them e.g when the slider moved.
Because they are NOT tied to the S/R in main. its own variables and unless you
directly write to them via C.s then they stay at zero.So when you change C/S that lives in main, the ones in C does not change with them
They are seperate variables and has own values and will only change if you directly do that.much like
int NUM =4;
class Test {
int NUM=0;
}TEST c;
NUM = 100;
will have not change c.NUM at all.
@mrjj
yeah but i dont write NUM = 100.
I write c.NUM = 100.i write:
class TEST{ int NUM = 0; } MainWindow{ TEST c; c.NUM = 100; } CheckTemperature { float example; TEST c; example = c.NUM; //example still 0 }
-
@mrjj
yeah but i dont write NUM = 100.
I write c.NUM = 100.i write:
class TEST{ int NUM = 0; } MainWindow{ TEST c; c.NUM = 100; } CheckTemperature { float example; TEST c; example = c.NUM; //example still 0 }
@AlexKrammer
Yes and then its ok. then you update c.num but NOT
the NUM outside.
Its 100% the same with your SetTemperature/ReadTemperature
in MainWin and those in C. -
@AlexKrammer
Yes and then its ok. then you update c.num but NOT
the NUM outside.
Its 100% the same with your SetTemperature/ReadTemperature
in MainWin and those in C.@mrjj
i dont want to update NUM outside..
look one post above. I edited it -
@mrjj
i dont want to update NUM outside..
look one post above. I edited itCheckTemperature { float example; TEST c; example = c.NUM; //example still 0 }
Yes as you make a local TEST c variable
so if you did if you did c.NUM=100
somewhere else its not the same TEST instance.So TEST c; should be a member if you want to set its NUM outside of CheckTemperature
then it works.
-
CheckTemperature { float example; TEST c; example = c.NUM; //example still 0 }
Yes as you make a local TEST c variable
so if you did if you did c.NUM=100
somewhere else its not the same TEST instance.So TEST c; should be a member if you want to set its NUM outside of CheckTemperature
then it works.
@mrjj
yes i did it?
i created a object of Test in MainWindow
then i put c.NUM = 100;after that i created a object of Test in CheckTemperature too
but c.NUM dont have 100. Its still have 0. -
@mrjj
yes i did it?
i created a object of Test in MainWindow
then i put c.NUM = 100;after that i created a object of Test in CheckTemperature too
but c.NUM dont have 100. Its still have 0.@AlexKrammer So, you create two instances of Test, change one of them and expect the other one to have the same change? How? By magic? Maybe I don't get something as the thread is already quite long...
Test a; Test b; a.NUM = 100; // Why should b.NUM be 100 now?!
-
@AlexKrammer So, you create two instances of Test, change one of them and expect the other one to have the same change? How? By magic? Maybe I don't get something as the thread is already quite long...
Test a; Test b; a.NUM = 100; // Why should b.NUM be 100 now?!
@jsulm
where do i create two instaces of Test? I only create a Object of TEST with c. change the Variable NUM and try to get c.NUM in a other Classclass TEST{
int NUM = 0;
}MainWindow{
TEST c;
c.NUM = 100;
}CheckTemperature
{
float example;
TEST c;
example = c.NUM;
//example still 0
}Or do i change the value of the variable in the object TEST c (c.NUM) i created? Not the Variable in the class TEST